0

リクエストページから特定の会社のページに移動する次のコードがあります。Web サイト フォルダーの Company ページは Companies というフォルダーの下にあり、リクエスト ページは Requests フォルダーの下にあります。

 Dim strUrl As String = "/Companies/Details.aspx?Company_ID=" & .Company_id
 litlCompany.Text = "<a href=" & strUrl & ">" & .Company.Name & "</a>"

URL は、次のように構築する必要があります。

http://localhost/Companies/Details.aspx?Company_ID=222

しかし、それは次のようになります。

http://localhost/Requests/Companies/Details.aspx?Company_ID=222

誰も理由を知っていますか?

4

4 に答える 4

5

私はあなたが現在オンになっていると仮定していますhttp://localhost/Requests/something.aspxか?もしそうなら、それはあなたがチルダルート指定子を忘れたからです:

~/Companies/Details.aspx

問題を解決する必要があります。

于 2012-04-24T15:44:36.597 に答える
2

あなたも試すことができます

Page.ResolveClientUrl("~/Companies/Details.aspx?Company_ID=" + Company_id)
于 2012-04-24T15:48:59.897 に答える
1

コントロールの名前から、Literal.

これを に変更してみてください。そうすれば、HTML ( ) を text プロパティにHyperLink入れる必要がなくなります。使用できるようになり、ASP.Net がそれを生成します。これはとにかくそれを行うための最もきちんとした方法です。<a href=...hypCompany.NavigateUrl = strUrl

また、チルダを追加してルートに移動します:-)

例えば

Dim strUrl As String = "~/Companies/Details.aspx?Company_ID=" & .Company_id
hypCompany.NavigateUrl = strUrl
于 2012-04-24T15:51:23.530 に答える
0

このリンクは request.aspx ページに組み込まれていると想定しています。

a href が現在の httpcontext にレンダリングされていると思います。文字列を次のように作成しようとしましたか:

Dim strUrl As String = "~/Companies/Details.aspx?Company_ID=" & .Company_id

Companiesフォルダーがルートにある場合、これは機能すると思います。ティルダは、ルートから見下ろすようにする必要があります。

于 2012-04-24T15:50:13.920 に答える