2012-01-04 30 views
0

私はとlocalY実行するウェブサイトを持っていると、ブラウザ上のパスは、私はさまざまなハイパーリンクが含まれており、そのうちの一つがあるメニュー持ってASP.Netページの相対パス?

"http://localhost:3184/basel/index.aspx" 

です:

<a href="en/open-account/index.aspx"></a> 
//This will evaluate to http://localhost:3184/basel/en/open-account/index.aspx. 

ハイパーリンクが私をリダイレクトしますが

"http://localhost:3184/basel/en/open-account/en/open-account/index.aspx" 

理由:上記のページでは、iがメニューにもう一度同じリンクをクリックしようとするとした後、ページのパスは以下のとおりです。それはパスが重複している、私はしばらくの間苦労しているが、これを把握することはできないようだ、任意のソリューション?

答えて

1

はこれを試してみてください:チルダを使用して

<a href="~/en/open-account/index.aspx" runat="server"></a> 

は、アプリケーション相対パスを作成します。

+0

私があなたに言ったことを試しました。パス: "http:// localhost:3184/basel /〜/ en/open-account/index.aspx"あなたが見ることができるように、 "〜"記号は経路上で妨げられて評価されないので、なぜ分かりませんか? –

+0

これは何の違いもありません –

0

あなたのコードには何がありますか? Aタグが動的に設定されている場合(たとえば、myHyperlink.NavigateURL += "en/open-account/index.aspx";のようなもの)、ページが読み込まれるたびにURLの末尾に新しい値が追加されます。

このURLがそこで操作されているかどうかを確認するコードがありますか?あなたが既にそれをしているなら、私のお詫び:

+0

コードマニュプレートはありません何がそんなに遅れていて、Aタグはソースコード上にある。 –

0

Page.ResolveUrl()メソッドを使用してください。 relativeUrlに絶対URLがある場合、URLは変更されずに返されます。 relativeUrlに相対URLが含まれている場合、そのURLは現在のリクエストパスに適した相対URLに変更され、ブラウザはURLを解決できます