如果访问的地址是:
http://hovertree.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu
那么
Request.Url.ToString() 的值是:
http://hovertree.com/guestbook/addmessage.aspx?key=hovertree<&n=myslider
Request.RawUrl.ToString() 的值是:
/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider
我们可以看出
Request.RawUrl 不包含主机名及前面的内容。
Request.RawUrl 完整地体现地址栏的 QueryString,
而 Request.Url 会进行 Server.URLDecode 解析。
而且两个的相同地方是,都不包含#以及后面的字符串
Path.GetFileName
string s1 = Path.GetFileName("D:\dir\asp.net\readme.txt"); // readme.text
string s2 = Path.GetFileName("D:\dir\asp.net\readme."); // readme.
string s3 = Path.GetFileName("D:\dir\asp.net\readme"); // readme
string s4 = Path.GetFileName("D:\dir\asp.net\readme\"); // 零长度字符串
string s5 = Path.GetFileName("D:\"); // 零长度字符串
string s6 = Path.GetFileName("D:"); // 零长度字符串
string s2 = Path.GetFileName("D:\dir\asp.net\readme."); // readme.
string s3 = Path.GetFileName("D:\dir\asp.net\readme"); // readme
string s4 = Path.GetFileName("D:\dir\asp.net\readme\"); // 零长度字符串
string s5 = Path.GetFileName("D:\"); // 零长度字符串
string s6 = Path.GetFileName("D:"); // 零长度字符串
说明:路径中的 和 / 是一样的结果。
只要不是以 或 / 结束,都是当作文件对待(盘符除外)。
Path.GetExtension
string s1 = Path.GetExtension("D:\dir\asp.net\readme.txt"); // .txt
string s2 = Path.GetExtension("D:\dir\asp.net\readme."); // 零长度字符串
string s3 = Path.GetExtension("D:\dir\asp.net\readme"); // 零长度字符串
string s4 = Path.GetExtension("D:\dir\asp.net\readme\"); // 零长度字符串
string s5 = Path.GetExtension("D:\"); // 零长度字符串
string s6 = Path.GetExtension("D:"); // 零长度字符串
string s2 = Path.GetExtension("D:\dir\asp.net\readme."); // 零长度字符串
string s3 = Path.GetExtension("D:\dir\asp.net\readme"); // 零长度字符串
string s4 = Path.GetExtension("D:\dir\asp.net\readme\"); // 零长度字符串
string s5 = Path.GetExtension("D:\"); // 零长度字符串
string s6 = Path.GetExtension("D:"); // 零长度字符串
Path.GetDirectoryName
string s1 = Path.GetDirectoryName("D:\dir\asp.net/readme.txt"); // D:dirasp.net
string s2 = Path.GetDirectoryName("D:\dir\asp.net/readme."); // D:dirasp.net
string s3 = Path.GetDirectoryName("D:\dir\asp.net/readme"); // D:dirasp.net
string s4 = Path.GetDirectoryName("D:\dir\asp.net/readme/"); // D:dirasp.net eadme
string s5 = Path.GetDirectoryName("D:\"); // null,注意是 null
string s6 = Path.GetDirectoryName("D:"); // null,注意是 null
string s2 = Path.GetDirectoryName("D:\dir\asp.net/readme."); // D:dirasp.net
string s3 = Path.GetDirectoryName("D:\dir\asp.net/readme"); // D:dirasp.net
string s4 = Path.GetDirectoryName("D:\dir\asp.net/readme/"); // D:dirasp.net eadme
string s5 = Path.GetDirectoryName("D:\"); // null,注意是 null
string s6 = Path.GetDirectoryName("D:"); // null,注意是 null
这里,我们故意在路径中使用“/”,可以发现最终还是会转换成“”。
查看留言:http://hovertree.com/guestbook/