我想知道是否有人能解释两个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;" })
功能上的差异在于,运行时,一个项目正确绑定现有的选定问题,另一个项目不绑定,并将所有问题显示为未选中。单步执行代码,List将在视图中填充并正确传递给MultiSelectList构造函数,但不会将值设置为选中。
这真令人沮丧。
答案 0 :(得分:2)
将您的ViewBag.Questions
变量名称更改为ViewBag.AvailableQuestions
。有时,渲染器会对您所指的内容感到困惑。