私はこの質問の提案に従いました...
[ 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>
<%} %>
これにより、項目の Id に設定された value="..." 属性を持つ項目ごとに 1 つずつ、一連のチェックボックスが生成されます。
次に、コントローラー アクションでは、メソッド シグネチャは...
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SelectItems(Guid[] selectedItems)
{...}
メソッドを初めて使用すると、selectedItems 配列は選択された各項目の Guid を適切に保持します。ただし、フォームの後続の送信には、フォームを送信する前にチェックした内容にどのような変更を加えても、最初の送信アクションで最初に選択されたものが常に含まれます。MVC フレームワークがメソッドに渡す selectedItems 配列を調べると、フレームワークが常に同じ値を何度も送信しているように見えるため、これは私のコードとは関係がないようです。
ブラウザーを閉じて、もう一度開始し、送信時に別の初期チェックボックスを選択すると、プロセスが最初からやり直されます (最初に選択されたチェックボックス ID は、常にselectedItems 引数にあるものです)。
フレームワークによる何らかのフォーム値のキャッシュを見落としていると思いますが、これは Preview 5 ではこのように動作しませんでした。
私を夢中にさせ、おそらく単純な問題です。何か案は????