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>