2015-04-07 102 views
0

我知道這裏有一些類似的問題,但沒有解決方案幫助我這個。這是我的情況:下拉選擇的項目沒有被選擇

我在我的模型中有一個列表。

public List<SelectListItem> Layouts { get; set; } 

我的 「裝載」 方法之後,結果如下:

enter image description here

然後在我的視圖我用這個過載:

@Html.DropDownListFor(x => x.Layout, Model.Layouts, "Select a Layout", 
    new { @id = "ddLayouts", @onchange = "javascript:getExampleAddresses(this.value);" }) 

步進上確切的行與debbuger,我得到以下結果: enter image description here

到目前爲止一切看起來不錯,但是當我踩下一行時,選定的值得到Selected = false,我的值沒有被選中。有人知道爲什麼會發生這種情況?

回答

3

您強烈綁定到屬性LayoutLayout的值決定選擇什麼,而不是(忽略)的Selected屬性。

在控制器設置的Layout值相匹配的選項之一的值和選項將在視圖

+0

謝謝你來選擇!我現在明白了,但問題在於佈局值不一定等於下拉列表中的某個選項。我的意思是,如果在創建時選擇了下拉列表的「自定義」值,則會爲該佈局屬性顯示一個字段,否則,下拉列表的值將被綁定到該佈局屬性。我希望你明白我的意思。 – vortex

+0

對不起,不知道你的意思。如果'Layout'的值不匹配其中一個選項,那麼將會選擇第一個選項(在您的情況下爲'null'「Select a Layout」選項。這就是模型綁定的工作方式 - 它綁定到您的屬性。 –

+0

問題是,我想綁定兩個輸入相同的屬性 - 佈局。第一個是這個下拉,第二個隱藏的輸入,當用戶從下拉列表中選擇一個給定的選項時彈出。我想我有重新考慮我的設計 – vortex