1

2つのASP.Net MVC 3プロジェクト間の機能の次の不一致を誰かが説明できるかどうか疑問に思っています。

両方のプロジェクトで、以下を含むビュー モデルがあります。

public List<int> Questions;

両方のプロジェクトで、次の ListBoxFor コードがあります。

@Html.ListBoxFor(x => x.Questions, new MultiSelectList(ViewBag.Questions as List<MyStandardLib.Mvc.Attribute>, "Id", "Name", @Model.Questions), new { @class = "ui-field-multiselect", style = "width: 250px;" })

機能の違いは、実行時に、1 つのプロジェクトは既存の選択された質問を正しくバインドし、もう 1 つのプロジェクトはバインドせず、すべての質問を未選択として表示することです。コードをステップ実行すると、List がビューに取り込まれ、MultiSelectList コンストラクターに正しく渡されますが、値が選択済みとして設定されていません。

これは本当にイライラします。

4

1 に答える 1

1

ViewBag.Questions変数名を に変更しますViewBag.AvailableQuestions。レンダラーが何を参照しているのか混乱することがあります。

于 2012-06-08T17:47:02.610 に答える