asp.net vb 获取当前页面名称。(获取url)

例如http://www.baidu.com/index.aspx
我知道用:Request.Url.ToString().Substring(Request.Url.ToString().LastIndexOf('/')+1)
就可以得到"index.aspx"了
但是如果页面带有参数,例如http://www.baidu.com/index.aspx?id=1
这样,获取下来的肯定就是"index.aspx?id=1"
所以说有没有截取字符串是可以截取特定字符前面的字符串的,例如我要"?"前面的文字。这个怎么做到呢?
或者有没有其他方法?大神们请解决。。分可以追加。
我要的是VB语言的好吗?谢谢。。。

第1个回答  2019-03-21
可以参考一些新闻发布系统。像这样的html页,有的是直接生成一整页html文件(一般单个的新闻页是这样做),有的则是先用html做好这个页的模板,然后其它的内容都是利用js来嵌入的,在html里边调用js文件,而这些js文件,都是利用asp,jsp,php等动态页面,利用写文件(比如asp中的fso)的功能进行动态生成的。
第2个回答  2011-05-26
using System.Text.RegularExpressions;

string URL = "http://www.baidu.com/index.aspx?id=123/12312";
Regex reg=new Regex("([^?]+[/])?([^/|?]+)([?].+)?");
Response.Write(reg.Replace(URL,"$2"));

我建议还是用正则表达式吧 用楼上的方法 好像当URL参数中含有 / 时 就不成功了
第3个回答  2011-05-26
推荐:用正则表达式来解决这个问题,只要你一个小时的研究,就轻易解决了。追问

能说详细一点吗?或者说。。。有没有教程?给个链接地址好吧?

第4个回答  2011-05-26
string s=Request.Url.ToString().Substring(Request.Url.ToString().LastIndexOf('/')+1);
if(s.IndexOf("?")>-1)s=s.Substring(0,s.IndexOf("?"));

正则表达式?——难学易忘!本回答被提问者采纳
相似回答