Интересная проблема.
При изменении содержания проекта я разбил одно приложение на два. Я создал новый проект вместо того, чтобы пытаться взломать существующее приложение на две части, и повторно использовал большую часть ранее написанного кода. Я дошел до последней ошибки, которая заставляет меня вырывать волосы.
У меня есть список элементов с флажком в каждой строке, чтобы позволить пользователю работать с несколькими строками одновременно. У меня есть некоторая логика проверки jQuery, чтобы убедиться, что в раскрывающемся списке выбран вариант и выбрана хотя бы одна строка. Это работает, однако, кажется, ничего не происходит, когда я нажимаю кнопку отправки. Я даже установил точку останова в первой строке кода функции, и она никогда не срабатывает. Код такой же, за исключением изменения действия с Display
на Index
. Есть мысли?
Код следует:
<% using (Html.BeginForm("Index", "Timesheet", FormMethod.Post, new { Id = "form1" }))
{ %>
<%= Html.DropDownList("DropDownAction", new SelectList(Model.Actions, "Value", "Text"), "(Select)", new { Class = "required" })%>
<input type="submit" value="Submit" />
....
<% } %>
TimesheetController.cs
//
// GET: /Timesheet/
[Authorize]
public ActionResult Index()
{
....
}
//
// POST: /Timesheet/
[HttpPost, Authorize]
public ActionResult Index(int[] CbSelect, string DropDownAction, SupervisorCredentials user)
{
foreach (int id in CbSelect)
{
...
}
return RedirectToAction("Index");
}
Сгенерированный HTML:
<form Id="form1" action="/Timesheet" method="post"><select Class="required" id="DropDownAction" name="DropDownAction"><option value="">(Select)</option>
<option value=" ">Approve</option>
<option value="P">Paper Signature</option>
<option value="A">Absent Employee</option>
</select>
<input type="submit" value="Submit" />
Обновление: я удалил jQuery и теперь получаю нулевое исключение. Мои опубликованные значения DropDownAction=P&CbSelect%5B%5D=274680&CbSelect%5B%5D=275744
. Почему бы public ActionResult Index(int[] CbSelect, string DropDownAction)
не сработать? Я получаю правильное значение в DropDownAction
и null
в CbSelect
.