2010-02-09 293 views
3

我真的很困惑ASP.Net MVC(2.0 RC)DropDownList。它似乎不接受我選擇的項目。另一個DropDownList選擇項目問題

這裏是我的SelectListItem名單(這是內部循環創建。選擇是布爾)

savingTypesList.Add(new SelectListItem() { Selected = selected, Text = type.Name, Value = "" + type.SavingTypeId }); 

創建的SelectList本身..

return new SelectList(savingTypesList, "Value", "Text", (string)selected); 

而且我查看..

<p> 
    <label for="SavingType">Saving type</label> 
    <%= Html.DropDownList("SavingType", Model.SavingType, "-- select a parameter saving type --", "")%> 
    <%= Html.ValidationMessage("SavingType", "*")%> 
</p> 

當我查看返回的SelectList的詳細信息時,它會顯示以下信息

alt text http://www.tx3.fi/selected.PNG

正如你所看到的SelectedValue設置正確,並以項目陣列中的項目相匹配。當我檢查實際生成的HTML時,沒有任何選擇。怎麼了?

回答

1

我能夠自己解決這個問題。

正如你可以在我的視圖中看到的,我的DropDownList名稱爲「SavingType」,它被綁定到Model.SavingType。一切工作正常,除了選定的值。我做的唯一的事情是我改變了下拉列表的名稱(當然還有指向它的鏈接,如=「SavingTypeList」的標籤)

0

此問題至少從MVC 1.0開始。

問題:當DropDownList名稱與綁定到它的對象的名稱具有相同的值時,選定的選項將不會在結果中被選中。

解決方案:名稱綁定對象不同,Model.SavingTypeList例如在你的情況。 重命名DDL名稱不是首選,因爲您可能會在表單提交後失去綁定。

相關問題