2012-04-24 20 views
0

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

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

は、誰もがなぜ知っていますか?

+0

正確にstrUrlには何がありますか? –

+0

URLの前に〜を使用すると、ルートフォルダに移動し、その下にあるフォルダにアクセスできます。これは、マスターページで非常に便利です。したがって、あなたの例では 'Dim strUrl As String ="〜/ Companies/Details.aspx?Company_ID = "&.Company_id'のようになります – ThePower

+0

http://localhost/Requests/~/Companies/Details.aspx?Company_ID = 254 。これは今のようになります。 – Joshua

答えて

2

また、このリンクはrequest.aspxページに内蔵されていることを想定し

Page.ResolveClientUrl("~/Companies/Details.aspx?Company_ID=" + Company_id) 
5

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

~/Companies/Details.aspx 

これで問題は解決します。

+0

これは彼が物事をやっているやり方を考えればこれでも使えますか?チルダだけで彼の文字通りのhrefに書かれていないだろうか? –

+0

おそらく。もし彼がリンクタグに書かれたURLが正しいことを確かめたいなら、単に 'strUrl'を' Request.Url.Host' + 'strUrl'の組み合わせにする方が良いでしょう。 – Tejs

+0

@Tejs not working – Joshua

0

アムを試すことができます。

私はhrefが現在のhttpcontextにレンダリングされていると思います。私は企業のフォルダがルートにある場合はこれが動作すると思います

薄暗いstrUrlとして文字列=「〜/企業/ Details.aspxのcompany_id =?」& .Company_id

:あなたのように文字列を作成しようとしています。ティルダは、それがルートから見えることを確認する必要があります。

+0

はい。このリンクはrequest.aspxページに組み込まれています。私はPage.ResolveClientUrl( "〜/ Companies/Details.aspx?Company_ID =" + Company_id)を試しました。今働いている – Joshua

1

コントロールの名前では、Literalを使用しているようです。

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

また例えば

:-)ルートに行くことをチルダに追加

Dim strUrl As String = "~/Companies/Details.aspx?Company_ID=" & .Company_id 
hypCompany.NavigateUrl = strUrl 
関連する問題