【发布时间】:2014-08-21 05:48:37
【问题描述】:
我添加了一条自定义路线:
RouteTable.Routes.Insert(
0,
new Route(
"common/scripts",
new EmbeddedScriptRouteHandler()
)
);
现在,每当我使用 BeginForm 在视图中呈现 Form 标记时,BeginForm 生成的 URL 都会发生变化。因此,例如,如果没有此自定义路由,@Html.BeginForm("Index", "Home") 将生成一个带有操作"/Home/Index" 的表单标记。一旦我添加了这个新路由,表单标签操作就变成了"/common/scripts?action=Index&controller=Home"。为什么会发生这种变化?
我想要的结果是任何 URL "/common/scripts" 都由我的自定义路由处理,但所有其他 URL 都由默认路由处理。
【问题讨论】:
-
Html.BeginRouteForm 可以提供你想要的。欲了解更多信息,请参阅此链接stackoverflow.com/questions/8308420/…
标签: asp.net-mvc asp.net-mvc-routing html.beginform