日期:2014-05-17  浏览次数:21006 次

关于MVC3的路由几个新手问题
1. 比如一个页面如 xxx.com/news?pid=8&page=1,现在想改为输入xxx.com/news/8/1便能访问,怎么写路由?
2. 上面的url访问正常后,那如<a href="../"这样的路径该怎么改,不能用@Url.Content
3. 定义路由时要给路由起个名字,那个名字是用来干什么的,比如定义了个default,然后访问xxx.com/default时不能访问啊

------解决方案--------------------


            routes.MapRoute(
                "Default", // 路由名称 唯一
                "news/{id}/{page}", // 带有参数的 URL
                new { controller = "News", action = "List", id = UrlParameter.Optional, page = UrlParameter.Optional } // 参数默认值
            );



public class NewsController : Controller
    {
        public ActionResult List(int id, int page)
        {
            ViewBag.id = id;
            ViewBag.page = page;
            return View();
        }
    }



@{
    ViewBag.Title = "List";
}
<h2>List</h2>
id:@ViewBag.id
page:@ViewBag.page
a: @Html.ActionLink("link","News","List");
href:<a href="@Url.Action("List","News")">link</a>