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

解决方案 »

  1.   

                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>