在Asp.net mvc3中添加另一条路由无法正常工作

时间:2012-06-13 15:21:37

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

我已定义此路线图。

  routes.MapRoute("default", // route name
            "{controller}/{action}/{id}", // url with parameters
            new { controller = "home", action = "index", id = UrlParameter.Optional }, // parameter defaults
            new string[] { "mobilesurveys.mt.controllers" }
        );

这将完美地运作。现在我想添加另一个路线图

   routes.MapRoute("couponreedem", // route name
            "{controller}/{action}/{clientname}", // url with parameters
            new { controller = "Rc", action = "index", id = UrlParameter.Optional }, // parameter defaults
            new string[] { "mobilesurveys.mt.controllers" }
        );

我已经这样定义了。这里Rc是我的控制器。我正在给网址      .com / Rc / Rc / sammy

和控制器中定义为

的方法
  public ActionResult Rc(string clientname)
    {

        viewModel =dataRc.ProductCategoryGet();
        return View(viewModel);
    }

clientname将始终为null。如何在现有路线不受干扰的情况下添加另一条路线。

感谢。

1 个答案:

答案 0 :(得分:1)

它实际上看起来很相似。但是如果你想要一个新的,你可以尝试这样的东西,它应该高于默认值。

 routes.MapRoute("couponreedem", // route name
            "RC/{action}/{clientname}", // url with parameters
            new { controller = "Rc", action = "index", clientname = UrlParameter.Optional }, // parameter defaults
            new string[] { "mobilesurveys.mt.controllers" }
        );

那将用RC /修复路线... 您的操作也应命名为Index

  public ActionResult Index (string clientname)
    {

        viewModel =dataRc.ProductCategoryGet();
        return View(viewModel);
    }