0
我有這樣的代碼:獲得一個MVC DropDownList中顯示所選項目
@Html.DropDownList("ddlCouponsAppointment",
Model.Coupons.Select(a => new SelectListItem {
Text = a.Name,
Value = a.CouponId.ToString(),
Selected = (a.CouponId == Model.CouponForAppointmentReminders.CouponId)
}),
"None",
new { @class = "normalcell" })
這爲年齡編制。現在,它會拋出一個錯誤,這是谷歌告訴我的一個錯誤,因爲我不允許在映射到類的實體上調用ToString(這個類沒有改變,所以我不知道它是如何工作的)。所以我添加了一個名爲CouponIdStr的屬性,它是一個字符串表示。這不起作用(爆炸B/C該屬性未映射到數據庫)。我試着讓值等於string.Empty + a.CouponId(因爲C#會將它連接成一個字符串)。它爆炸了。
所以,我想這一點:
@Html.DropDownList("ddlCouponsAppointment",
new SelectList(Model.Coupons,
"Name",
"CouponId",
Model.CouponForAppointmentReminders.CouponId),
"None",
new { @class = "normalcell" })
這工作,但不顯示所選項目。有沒有人有什麼建議 ?
在你的第二個代碼塊中,我看不到Selected =(a.CouponId == Model.CouponForAppointmentReminders.CouponId)How do you say to @ Html.DropDownList to select something then? – 2012-01-27 02:24:25
你錯過了發生了什麼。 SelectList構造函數爲選定的值提供一個參數。事實證明,我的名字和優惠券是錯誤的。我試着發表一個答案,但是SO不讓我這樣做(我點擊'答案'並瀏覽了一下,所以我沒有看到答案),所以這就是爲什麼這是坐在這裏沒有解決方案,儘管我找到了一個。仍然想知道爲什麼沒有辦法讓第一塊代碼工作,我可以看到。 – cgraus 2012-01-27 03:16:24