我有一个简单的部分,其中用作搜索栏的表单。MVC表单没有提交到正确的行为
@using (Html.BeginForm("Details", "Projects", FormMethod.Get))
{
<div class="row" style="margin-bottom: 20px;">
<div class="col-lg-3 pull-right">
<input type="search" class="form-control" placeholder="Search Code" id="projectSearch" name="code" />
</div>
</div>
}
这应该张贴到我的项目控制器详细的行动,然而,这是不会发生的,我相信,因为这是适用于行动,因为当我注释掉它的[路线]属性的这一点,正确地表单帖子。但是我想使用[Route]属性。
的操作是这样的:
[HttpGet]
[Route("{code}/Details")]
public ActionResult Details(string code)
{
if (code == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
...
return View(viewModel);
}
当属性是在使用表格将张贴到这个网址:
/项目/详细代码= PP61
,它没有映射到正确的动作。相反,我得到一个资源无法找到错误。
预期/所需的URL看起来应该像
/项目/ PP61 /详细
如果我创建一个Url.Action或浏览网址这工作得很好,所以我知道这行动起作用,但它不适用于表单发布。任何想法为什么?
谢谢。
都能跟得上这没有奏效:( –
如果您删除“[路线(” {}代码/详细信息“)]”? –
对不起,这里错过了PP61交易.. –