【发布时间】:2016-06-20 07:27:44
【问题描述】:
所以我在MVC 中阅读了有关routes 的信息,并根据其他帖子中提到的内容进行了配置。所以我的意图是生成如下网址:
http://domain.com/controller/action/id
出于这个目的,我将RoutesConfig.cs 配置如下:
routes.MapRoute(
name: "AdminMessage",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Admin", action = "Messages", id = UrlParameter.Optional }
);
下面是我的控制器的样子
[HttpGet]
public ActionResult Messages(string id)
{
_model = new AdminViewModel();
_userName = Convert.ToString(HttpContext.User.Identity.Name);
ViewBag.Page = "Messages";
_model = PrepareLayoutModel(_userName, "Messages");
return View(_model);
}
我使用Url.Action 生成url 如下:
<a href="@Url.Action("Messages", "Admin", new RouteValueDictionary(new {message.MessageID}))"></a>
但它总是将Url 生成为http://domainname/controller/action?messageID=SDc@#123#2@,而我想将其生成为http://domainname/controller/action/SDc@#123#2@。那么我可以通过什么方式完成这项工作?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 routing