'System.UriFormatException' in HyperLink
本文关键字:HyperLink in System UriFormatException | 更新日期: 2023-09-27 17:50:07
我有一些像这样的字符串:
www.example.com/sdWqaPtwitter.com/sdfks
,并希望将它们分配给HyperLink
var hyperlink = new Hyperlink
{
NavigateUri = new Uri(url),
TargetName = "_blank",
};
如果url以http://
开头,则正常工作,否则抛出UriFormatException
。
更新: url像www.google.com
不是有效的http
url。难道没有比var url = "http://" + "www.google.com"
可以使用
var uri = new UriBuilder(s).Uri;
参考:http://msdn.microsoft.com/en-us/library/y868d5wh (v = vs.110) . aspx
public UriBuilder(
string uri
)
// If uri does not specify a scheme, the scheme defaults to "http:".
Scheme(在您的案例中是http://
)是Uri
字符串的强制性部分。如果uri字符串中指定的模式没有根据uri . checkschemename()方法正确形成,则抛出UriFormatException
。
[MSDN Uri构造函数(String)): 。
我不太明白你的意思"更好更安全的方式"。
检查你的URL是否有效,然后分配给URL
要验证URL,请检查以下链接
如何检查一个字符串是否是一个有效的HTTP URL?