我有这个代码链接,我在运行时从数据库填充一个带有地址的超链接。
<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank"
NavigateUrl='<%#Eval("Source") %>'><%#Eval("Source") %></asp:HyperLink>
问题在于它将链接视为相对链接。所以,如果链接是yahoo.com,它将转到
或者那种效果。
如果我的链接来源为http://www.yahoo.com,那将会有效,但我不能保证这些链接在开头可能有也可能没有http://。
如何让它始终将其视为绝对URL。
答案 0 :(得分:1)
您可以尝试这样的事情
NavigateUrl='<%# GetUrl(Eval("Source")) %>'>
与
public string GetUrl(object source)
{
if(source != null)
{
string str = source.ToString();
return str.StartsWith("http://", StringComparison.InvariantCultureIgnoreCase) ?
str :
string.Format("http://{0}",str);
}
return string.Empty;
}