【问题标题】:How to get the url prefixes asp.net MVC如何获取 url 前缀 asp.net MVC
【发布时间】:2014-06-02 07:48:01
【问题描述】:

我有一个可以在 IIS7 上运行的 ASP.NET MVC 应用程序。 我还不知道最终的 URL,这就是问题所在。

我想获取顶级域和我的控制器之间的 URL 部分。

例如:http://www.mydomain.com/myApplication/MyController/ControllerMethod应该返回/myApplication/MyController/

如果通过标准方法调用应用程序,例如http://www.mydomain.com/myApplication,这也应该是可能的。

问题是,如果完整的控制器名称和方法名称在 url 中,我的方法可以完美运行,但是只要只有控制器名称并且路由采用默认的 index-method 或没有控制器/方法和路由采用默认控制器/方法,它会失败,因为我的代码输出错误。

我想过硬编码控制器名称并进行 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();

【问题讨论】:

    标签: c# asp.net asp.net-mvc url


    【解决方案1】:

    【讨论】:

    • 哦,现在我觉得有点尴尬...谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    相关资源
    最近更新 更多