У меня есть простой частичный вид с формой, внутри которой используется строка поиска.Форма 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>
}
Это должно отправлять сообщения в Projects Controller Подробности действий, однако этого не происходит, и я считаю, что это из-за [Маршрут] атрибут, который применяется к действию, как когда я закомментируйте, то правильно заполнять сообщения. Однако я хочу использовать атрибут [Маршрут].
Действие выглядит следующим образом:
[HttpGet]
[Route("{code}/Details")]
public ActionResult Details(string code)
{
if (code == null)
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
...
return View(viewModel);
}
Когда атрибут используется форма будет добавите на этот адрес:
/Проекты/Детали кода = РР61
, который не соответствует правильному действию. Вместо этого я получаю ресурс, который не может найти ошибку.
Ожидаемое/желаемого URL должен выглядеть
/Проекты/РР61/Детали
Это прекрасно работает, если я создаю Url.Action или перейдите к URL, так что я знаю, что это действие работает, однако оно не работает с сообщением формы. Любые идеи почему?
Спасибо.
Неа это не работает :( –
Что делать, если вы удалите «[Маршрут (» {код}/подробности «)]»? –
К сожалению, пропустил много РР61 здесь .. –