asp.net mvc 3 url路由与新闻名称

时间:2011-11-01 03:05:55

标签: asp.net-mvc-3 model-view-controller

我有一个新闻网站。我通常使用参数来显示新闻或浏览器类别的新闻。例如:

http://mysite.com/News/Details/5

新闻是控制器 - 详细信息是行动 - 5 是新闻ID

现在我要将此新闻的名称添加到Url中。例如:

http://mysite.com/News/Details/5/name-of-news/ 要么 的 http://mysite.com/News/name-of-news/

用于分页,我也使用参数 http://mysite.com/News?page=2

现在我想将我的网址显示为以下网址 的 http://mysite.com/News/Page1

我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:2)

将新闻添加到您的操作所需的参数列表

        ActionResult Details(string id,string newsName){
        }
        //add a routing map 
         routes.MapRoute(
            "NewsDetailsIdName",                                             
            "{News}/{Details}/{id}/{newsName}",                           
            new { controller = "News", action = "Details"}  
         );

      or 
       //If news name is unique
       ActionResult Details(string newsName){
       }
      //Add a routing map
       routes.MapRoute(
            "NewsDetailsName",                                             
            "{News}/{Details}/{newsName}",                           
            new { controller = "News", action = "Details"}  
       );

对于pagging,请在新闻Index action

上添加路由映射
        ActionResult Index(string page){
        }
        //Add a route
        routes.MapRoute(
            "NewsPage",                                             
            "{News}/{page}",                           
            new { controller = "News", action = "Index"}  
        );
相关问题