我有我的觀點如下: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