【问题标题】:Adding a parameter to the URL in ASP MVC在 ASP MVC 中向 URL 添加参数
【发布时间】:2010-10-24 00:16:19
【问题描述】:

我需要有一个参数作为我的 ASP MVC URL 之前控制器和操作的一部分:

http://www.mydomain.com/company1/首页

http://www.mydomain.com/company1/Clients/Detail/1

(理想情况下,我希望将其作为这样的子域:http://company1.mydomain.com/Clients/Detail/1 所以任何解决此问题的答案也值得赞赏)

我将此参数称为帐户。我尝试将这样的内容添加到路由图中: "{account}/{controller}/{action}/{id}" 但在尝试 http://www.mydomain.com/company1/Home

之类的操作时会出现 404 错误

这是 Global.asax 中的 RegisterRoutes:

        public static void RegisterRoutes(RouteCollection routes)
        {
           routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute("TestRoute", "{account}/{controller}/{action}/{id}");

            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
            );
}

在组织我的 Views 文件夹或 Controller 操作时,我有什么特别需要做的吗?

【问题讨论】:

  • 您能否显示您从 global.asax 设置的确切路由?

标签: asp.net-mvc asp.net-mvc-routing


【解决方案1】:

您的错误听起来好像您没有在路由默认值中给出默认值。

【讨论】:

  • 我也是这么想的,但是没有确切的路线很难说。
  • 你们是绝对正确的人!添加默认值解决了这个问题。但是如何在控制器操作中获取帐户值?
  • 在你的action方法中添加一个同名的字符串参数,它应该由MVC填写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-06
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 2022-12-28
  • 2010-09-17
  • 1970-01-01
相关资源
最近更新 更多