我有一個看似簡單的任務,根據模型的布爾值設置一個單選按鈕「checked」。我在我的模型「IsSDPDonor」中有一個布爾值,我想將其用於Yes/No Radio按鈕。如果「IsSDPDonor」爲真,則應檢查「是」單選按鈕;如果爲「否」,則爲單選按鈕。我試圖使用下面的代碼,但它總是檢查「否」單選按鈕。asp.net mvc3檢查基於模型的單選按鈕
@Html.Label("Would You Like to Donate Platelets (SDP)") :
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, true, new {@checked = Model.Donor.IsSDPDonor ? "checked" : ""}) Yes
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, false, new { @checked = !Model.Donor.IsSDPDonor ? "checked" : "" }) No
我有些沮喪,所以我覺得我寧願幫助一下。基本上,HTML語法表示只放入沒有任何值的「Checked」屬性來檢查一個單選按鈕。我想知道如何使用MVC3剃鬚刀語法。
爲什麼在匿名對象定義中使用'@ checked'而不是'checked'?同樣,使用'checked ='勾選的''應該與檢查沒有值的效果相同,兼容性問題更少 – smartcaveman
@smartcaveman因爲'checked'是一個關鍵字,您必須使用'@'將它區分爲變量(屬性名稱,在這種情況下)。 – tvanfosson