【问题标题】:ASP.NET MVC 2 routing problems with string字符串的 ASP.NET MVC 2 路由问题
【发布时间】:2011-04-19 05:45:46
【问题描述】:

我想向我的 web 应用程序添加一个简单的路由,但它不起作用,我不知道为什么

global.asax.cs 中的代码:

routes.MapRoute(
            "BrowseGenre",
            "{controller}/{action}/{genre}",
            new {controller = "Store", action = "Browse", genre = UrlParameter.Optional}
        );

StoreController.cs 中的代码:

    // GET: /Store/Browse
    public ActionResult Browse(string genreName)
    {

        var genreModel = storeDB.Genres.Include("Albums").Single(g => g.Name == genreName);
        //....

genreName 始终为空

动作链接已正确生成(如 domain.com/Store/Browse/Jazz

【问题讨论】:

    标签: c# asp.net-mvc-2 url-rewriting url-routing


    【解决方案1】:

    action 参数应该被称为genre 而不是genreName(在你的路由中调用它的方式相同):

    public ActionResult Browse(string genre)
    

    【讨论】:

      【解决方案2】:

      更改您的匿名类型
       new {controller = "Store", action = "Browse", genre = UrlParameter.Optional}
      

       new {controller = "Store", action = "Browse", genreName = UrlParameter.Optional}
      

      将操作中的参数名称从“genreName”更改为“流派”,以便匿名类型中的成员名称与您的操作方法中的参数名称匹配。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-13
        • 2011-11-30
        • 2013-06-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多