我有一个可以在IIS7上运行的ASP.NET MVC应用程序。 我还不知道最终的网址,这就是问题所在。
我想获取顶级域名和控制器之间的URL-Parts。
对于例如:http://www.mydomain.com/myApplication/MyController/ControllerMethod
应该返回/myApplication/MyController/
如果通过标准方法调用应用程序,例如http://www.mydomain.com/myApplication
,也应该可以这样做。
问题在于,使用我的方法,如果完整的controller-和methodname在url中,它会完美地工作,但只要控制器名称和路由采用默认的index
- 方法或那里没有控制器/方法,并且路由采用默认控制器/方法,它将失败,因为我的代码输出错误。
我考虑过对控制器名称进行硬编码并制作一个if-then-else狂欢,但这看起来并不专业......
也许你们中的任何人都有一个想法。
这是我的功能:
String segments = Request.Url.Segments;
System.Text.StringBuilder builder = new System.Text.StringBuilder();
String lastSegment = "";
int i= 0;
do
{
builder.Append(segments[i]);
lastSegment = segments[i++];
} while(!lastSegment.Equals("Home") && !lastSegment.Equals("Home/") && i < segments.Length);
return builder.toString();
答案 0 :(得分:1)