1

私が解決しようとしている小さな問題で私を助けてくれることを願っています。C# を使用して、4 ページの ASP.NET Web サイトを作成しました。(ホーム | 構成 | 何とか | 連絡先) 構成メニューにはサブメニューがあります - config1、config2 は次のようになります。

メニュー:

ホーム
構成:
- config1
- config2
Blah
連絡先

ホーム ページ ディレクトリ: index.aspx

構成ページ ディレクトリ: pages/config1.aspx および pages/config2.aspx

私が問題を抱えているのは、pages/config1.aspxをクリックして正しいページに移動し、同じページでpages/config2.aspxをクリックすると、問題が発生します-ページ/ページ/config2.aspxが重複しています-取得しましたエラーメッセージ。この問題を解決するには?

役に立たないと思われるスタックオーバーフローからコードをコピーしました。以下のような解決策:

MasterPage Page_Load で:

string url = HttpContext.Current.Request.Url.AbsoluteUri;
// http://localhost:1302/TESTERS/Default6.aspx

string path = HttpContext.Current.Request.Url.AbsolutePath;
// /TESTERS/Default6.aspx

string host = HttpContext.Current.Request.Url.Host;
// localhost
4

3 に答える 3

1

問題は、絶対アンカーではなく相対アンカーを使用していることです。変更してみる

<a href="pages/pages.config2.aspx">link</a>

<a href="/pages/pages.config2.aspx">link</a>
于 2013-10-26T10:58:41.060 に答える
0

masterpage で、次のコードを使用して URL を取得できます。

string test = Request.Url.AbsolutePath.Substring(1, Request.Url.AbsolutePath.Length - 1);

次のコードでページに応答できます。

<a href="../config2.aspx">link</a>
于 2013-10-26T13:39:26.443 に答える