我有我的观点如下:ASP.NET MVC:的SelectList忽略构造了selectedValue参数
<%= Html.DropDownList("Schema.MetaData.SourceTableName", new SelectList(Model.Schema.MetaData.SourceTableNames, Model.Schema.MetaData.SourceTableName), Model.SourceTablesOptionLabel)%>
SourceTableNames的类型是List<string>
,当我填充模型,我赋值对于SourceTableName使用下面的方法在我的视图模型:
public void SetDefaultSourceTable(string mostLikelyCandidate)
{
Debug.Assert(this.Schema.MetaData.SourceTableNames.Contains(mostLikelyCandidate));
this.Schema.MetaData.SourceTableName = mostLikelyCandidate;
}
(该Debug.Assert
表明,无论我传递的是SourceTabl的一部分eNames列表)
不幸的是,无论我传递给方法,即使所有属性都是正确的,即使我把视图本身断点,第一选择总是选择
<SELECT id=Schema_MetaData_SourceTableName name=Schema.MetaData.SourceTableName>
<OPTION selected>Table A</OPTION>
<OPTION>Table B</OPTION>
<OPTION>Table C</OPTION>
</SELECT>
任何线索至于我做错了什么?
不知道这是不是问题,但你需要在'SelectList.Items [你想选择的索引]上设置选定的值.Selected = true;'除此之外,我没有看到你设置的位置选择的价值。 – 2010-02-10 15:47:36
您何时/何时调用方法“SetDefaultSourceTable”? – 2010-02-10 17:11:00