私は絶対的なリンクが使用されるはずのマスターページで相対リンクの使用方法を修正する方法についてかなりの情報を見つけましたが、相対リンクが望ましい時期はまだありません。マスターページを使用しているページを基準にして解決するには、ASP.NETマスターページ内のリンクをどのように作成できますか?
次のように私が直面してる状況は次のとおりです。
私は、クエリ文字列でのルートディレクトリ内のページ(SelectItem.aspx
)にリンクして私のマスターページでのナビゲーションバー、として機能DataListコントロールを持っています。私は同じ名前のページを保持するAdmin
というディレクトリを作成しました。
私は、次の動作を実装したいと思います:私は/OtherPage.aspx
からナビゲーションバーのリンクをクリックすると
、私は/SelectItem.aspx
に取られるべきです。
/Admin/OtherPage.aspx
からnavbarリンクをクリックすると、/Admin/SelectItem.aspx
に移動する必要があります。
動作は、マスタページの場所に関係なく一貫している必要があります。
私の現在の実装では、ディレクトリ/MasterPages/
にマスターページがあり、その結果、アクセスされているページのディレクトリではなく、そのディレクトリに対してすべての相対リンクが解決されます。
、これは潜在的にマイナスの影響は何を引き起こす可能性が? – grandta13
@ grandta13:マスターページからのすべての相対リンクは、代わりにコンテンツページに対して解決されます。他のすべてのリンクがapp-relativeまたはabsoluteの場合、それはOKであるはずです。しかし、いずれかがマスターに相対的である場合、彼らは壊れます。 –
@ grandta13:ユーザーコントロールでナビゲーションバーを切り離し、そのコードをそのコントロールに適用する方が安全かもしれません。 –