問題

私はいくつかのユーザー入力(URL)をとり、ユーザーがリンクをテストできるようにする私のページの1つを制御しています。

 <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("URL") %>' Target="_blank">Click here to test link</asp:HyperLink>
 

問題は、ユーザーが "google.com"というURLを入力すると、リンクは "http://localhost/google.com"として扱われます。私はそれが正しい場所に行くために "http://www.google.com"を入れなければなりません。

すべてのケースで絶対リンクのようにリンクを扱うことは可能ですか?

  ベストアンサー

これを...

 NavigateUrl='<%# Eval("URL", "http://{0}") %>'
 

編集:すでにhttp://が含まれているかどうかをチェックしたい場合は、次のようになります。

 NavigateUrl=<%# Eval("URL").ToString().Contains("http://") == true ? Eval("URL") :
 "http://" + Eval("URL")  %>
 

  同じタグがついた質問を見る

c#asp.nethtmlnavigation