Request.Url.Segments [3]不能与IIS 7一起使用

Pan*_*wal 1 asp.net iis

Request.Url.Segments[3]返回pagename.在我的演示服务器已经IIS6和它的工作正常,但在我的实时服务器已安装IIS7,Request.Url.Segments[3]并没有返回页面名称,它给出了一个错误.

请帮我.提前致谢

Kob*_*obi 14

这与IIS的版本无关.最有可能的是,您对该网站有不同的设置.

例如,在dev上,默认情况下在Visual Studio F5调试中,该站点运行于:

http://localhost:1234/sitename/folder/page.aspx
                     |\_______/\_____/\_______/
                     0    1       2       3 
Run Code Online (Sandbox Code Playgroud)

在测试/制作时,您可能没有第一个文件夹:

http://sitename.corpo.com/folder/page.aspx
                         |\_____/\_______/
                         0   1      2    
Run Code Online (Sandbox Code Playgroud)

有更好的方法可以动态获取数组的最后一个元素,即使不知道它的长度.尝试使用:

Request.Url.Segments.Last()
Run Code Online (Sandbox Code Playgroud)

或者,没有linq,

Request.Url.Segments[Request.Url.Segments.Length - 1]
Run Code Online (Sandbox Code Playgroud)

如果您没有寻找最后一个元素,您可能需要提出一种更好的方法来指定您需要的内容.