【发布时间】:2013-06-07 21:11:06
【问题描述】:
我有一个动作
public class EmployerController : Controller
{
public ActionResult Message(string contractorId, int projectId)
{....}
还有一个@html.ActionLink
@Html.ActionLink("Message", "Message", "Employer", new { contractorId = @model.ContractorId, projectId = @model.ProjectId }, null)
我最终得到了类似的网址
http://localhost:3597/Employer/Message?contractorId=contractor&projectId=10
而我想要像这样的网址
http://localhost:3597/Employer/Message/contractor/10
在我的 RouteConfig.cs 中,我添加了
routes.MapRoute(
name: "MessageRoute",
url: "Employer/Message/{contractorId}/{projectId}",
defaults: new { controller = "Employer", action = "Message", contractorId = (string)null, projectId = 0 }
);
我错过了什么。如何禁用路由中的查询字符串?
/谢谢。
【问题讨论】:
-
我通过将自定义 routes.MapRoute 方法置于默认 routes.MapRoute 方法之上解决了这个问题。
标签: asp.net-mvc-4 routes html.actionlink