我想使用IsWellFormedOriginalString
验证网址。我使用这段代码:
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
它运作正常。如何解决?
答案 0 :(得分:1)
在重新阅读本文https://blog.httpwatch.com/2011/03/01/6-things-you-should-know-about-fragment-urls/后,我意识到哈希不应该被验证为Uri的一部分。所以我在检查前排除哈希部分:
enc2 = enc2.Split('#')[0];