Я последовал предложению в этом вопросе ...
[ Как обрабатывать флажки в формах ASP.NET MVC?
... для установки нескольких флажков с одним и тем же атрибутом name = "...", и форма ведет себя, как и ожидалось, в ПЕРВЫЙ раз, когда она была отправлена. Последующие представления формы используют исходный массив значений Guid вместо правильной отправки нового массива проверенных значений элементов.
Соответствующий код в представлении ...
<% foreach (ItemType itemType in ViewData.Model.ItemTypes) %>
<%{ %>
<li>
<input id="selectedItems" name="selectedItems" type="checkbox" value="<%= itemType.Id%>" />
<%= itemType.Description %></li>
<%} %>
Это создает серию флажков, по одному для каждого элемента с атрибутом value = "...", установленным в Id элемента.
Тогда в моем действии контроллера сигнатура метода ...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SelectItems(Guid[] selectedItems)
{...}
При первом запуске метода массив selectedItems правильно удерживает Guid каждого выбранного элемента. Но последующие отправки формы будут всегда по-прежнему содержать то, что было сначала выбрано в начальном действии отправки, независимо от того, какие изменения вы вносите в то, что он проверял перед отправкой формы. Похоже, это не имеет никакого отношения к моему коду, так как проверка массива selectedItems, который инфраструктура MVC передает в метод, свидетельствует о том, что платформа, кажется, всегда передает одно и то же значение снова и снова.
Закройте браузер, запустите снова, выберите другой начальный флажок при отправке, и процесс начнется заново (идентификаторы изначально выбранного флажка всегда , что указано в аргументе selectedItems).
Предположим, я должен быть толстым и не обращать внимания на какое-то кэширование значений форм в фреймворке, но я бы поклялся, что в Preview 5 это не так.
сводит меня с ума и, вероятно, простая проблема; любые идеи ????