gfr*_*zle 2 model-view-controller asp.net-mvc
在我的MVC应用程序中,为什么呢
Return RedirectToAction("Edit", "Forms", New With {.member = "123"})
Run Code Online (Sandbox Code Playgroud)
返回
http://localhost:13/Forms/Edit?member=123
Run Code Online (Sandbox Code Playgroud)
绝对的
http://localhost:13/Forms/Edit/123
Run Code Online (Sandbox Code Playgroud)
?
为什么呢
<%=Html.ActionLink("MyLink", "Edit", "Forms", New With {.member = "123"}, Nothing)%>
Run Code Online (Sandbox Code Playgroud)
做同样的事?
正如tvanfosson所说,"id"是默认路由引擎设置要查找的内容.作为第三个参数的任何其他东西,它将被作为一个查询字符串.
为什么?因为Global.asax中的这个方法:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
Run Code Online (Sandbox Code Playgroud)
您可以通过添加其他routes.MapRoute()行来更改此设置,如下所示:
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
routes.MapRoute(
"Default2",
"{controller}/{action}/{member}",
new { controller = "Home", action = "Index", member = "" }
);
Run Code Online (Sandbox Code Playgroud)
标准路由设置为使用id作为第三个参数.将"member"更改为"id",您将获得您期望的路线.
Return RedirectToAction("Edit", "Forms", New With { .id = "123"})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
499 次 |
| 最近记录: |