无法将超链接导航到网站外部

时间:2013-10-22 07:55:51

标签: c# asp.net hyperlink

我有两个简单的aspx页面

Viewpage.aspx

<asp:HyperLink ID="lbllink" runat="server" Target="_Blank"></asp:HyperLink>

Editpage.aspx

<asp:TextBox ID="txtlink" runat="server"></asp:TextBox>// client input the link : faceboook.com

并在代码背后:

lbllink.Text= txtlink.Text;// txtlink.Text = facebook.com
lbllink.NavigateUrl = txtlink.Text;

构建时出现错误:The resource cannot be found.因为facebook.com不是我的webstie文件夹中的页面。

我无法使用<a href= >,因为它没有ID标记。

帮助,对我的问题有没有更好的方法???

1 个答案:

答案 0 :(得分:1)

您无法猜测它是relative还是absolute网址。

如果您知道它始终是外部网址,那么您需要确保输入的网址前面有http://,其他服务器将假设它相对于点击它的页面。

The Uri Class有一些非常实用的stuff

您可能会发现此方法很有用

public static string ToAbsoluteUrl(string relativeUrl) {
    if (string.IsNullOrEmpty(relativeUrl)) return relativeUrl;
    if(relativeUrl.ToLower().StartsWith("http")) return relativeUrl;

    return String.Format("http://{0}", relativeUrl);
}