C# URL的URI IsWellFormedOriginalString带有hashbang
我想使用C# URL的URI IsWellFormedOriginalString带有hashbang,c#,validation,uri,C#,Validation,Uri,我想使用IsWellFormedOriginalString验证URL。我使用以下代码: var enc2 = "/discussion/somepage.aspx?DiscussionID=13&PostID=1#post4"; Uri.TryCreate(enc2, UriKind.RelativeOrAbsolute, out u1); Console.WriteLine(u1.IsWellFormedOriginalString()); 但它返回false。如果我使用没有散列的
IsWellFormedOriginalString
验证URL。我使用以下代码:
var enc2 = "/discussion/somepage.aspx?DiscussionID=13&PostID=1#post4";
Uri.TryCreate(enc2, UriKind.RelativeOrAbsolute, out u1);
Console.WriteLine(u1.IsWellFormedOriginalString());
但它返回false
。如果我使用没有散列的URL
/discussion/somepage.aspx?DiscussionID=13&PostID=1
它工作正常。如何修复它?阅读本文后,我意识到哈希不应该作为Uri的一部分进行验证。所以我在检查之前排除散列部分:
enc2 = enc2.Split('#')[0];