【发布时间】:2014-03-16 18:47:08
【问题描述】:
我有一个表示事物下拉列表的表单。您选择所需的东西并点击确定按钮。它使用 GET 提交表单,生成的 URL 是:
/Something/IdentificationInformation?jamesID=26
所以我应用了一个路由规则:
routes.MapRoute(
name: null, // "Add James relationship"
url: "James/IdentificationInformation/{jamesID}",
defaults: new {
Controller = "James",
action = "IdentificationInformation"
}
);
但是这个 url 路由没有被应用?
提交的表单如下所示:
@using (Html.BeginForm("IdentificationInformation", "James", FormMethod.Get))
{
<div class="col-lg-9 col-md-9 col-sm-9 add-margin-top">
@Html.DropDownList("jamesID", new SelectList(Model, "JamesID", "Name"), new { id = "JamesDropdownList" })
</div>
<div class="col-lg-3 col-md-3 col-sm-3 add-margin-top">
@Html.ContinueButton("Continue")
</div>
}
【问题讨论】:
-
我可以在这个问题中添加什么来帮助获得答案吗?有点奇怪。
-
您是否有在此之前定义的任何可能首先匹配的路由?此外,在您的 Html.BeginForm() 中,控制器看起来像是 JamesController ...
-
之前没有路线,没有。那是一个错字,抱歉,感谢您了解这一点。我最终不得不做 2 个控制器,一个从表单获取 POST 请求,然后重定向到另一个返回视图的控制器。好像路由规则对表单提交不起作用?
标签: c# razor asp.net-mvc-5