【发布时间】:2009-01-28 19:05:53
【问题描述】:
我在 MVC 控制器中创建了大量的动作。
public ActionResult DoSmth1(string token)
public ActionResult DoAnother2(string token)
当我必须调用 ActionLink..
=Html.ActionLink<SomeController>( x=> x.DoSmth(item.property), item.property)
=Html.ActionLink<AnotherController>( x=> x.DoAnother(item.property), item.property)
...它为我生成不同的 URL:
/Some/DoSmth/stringvalue
/Another/DoAnother?property=stringvalue
在哪里设置它构建 URL 的方式?我一点头绪都没有……((
好的,有一些路灯: - 如果属性名称与路由模式中使用的相同 - 例如控制器、操作和 id - MVC 将始终使用路由构建器 (/c/a/id)。
这有点帮助(所以 - 尽可能将参数命名为“id”)
但整体问题还是成立的……
必须与路由中的token同名
正是——我首先有这个想法。
但是 - 现在我只有默认路由 ({controller}/{action}/{id}) 但仍然有带有斜杠“属性”的 URL...这很奇怪。
- 还有一种欺骗方式 - 创建一个精确的路由来匹配给定控制器及其参数名称 - 这似乎是最终的答案 - 但我仍然不想这样做((
【问题讨论】:
标签: .net asp.net-mvc routing html-helper actionlink