我有下面的類:如何在我的視圖中使用ASP MVC設置複選框?
public class City {
public string Name { get; set; }
public bool CityValid { get; set; }
}
我知道如何設置的名字,但我怎麼可以設置CityValid字段,以便它就像一個複選框。我想這樣做,而不使用HTML助手。
我有下面的類:如何在我的視圖中使用ASP MVC設置複選框?
public class City {
public string Name { get; set; }
public bool CityValid { get; set; }
}
我知道如何設置的名字,但我怎麼可以設置CityValid字段,以便它就像一個複選框。我想這樣做,而不使用HTML助手。
如果你真的不想使用助手,你可以使用一個普通的HTML輸入標記:
<input type="checkbox" id="CityValid" name="CityValid" value="@Model.CityValid" />
<input type="hidden" id="CityValue_Hidden" name="CityValid" value="false" />
name屬性必須匹配你的財產的名稱,以便該模型粘結劑將正確地把它撿起來,當你回發到服務器。
當您使用助手時,會生成類似於上述標記的內容。隱藏字段的值是總是與表單發佈數據一起發送,無論您是否選中該複選框(如果您未選中複選框,默認情況下不會發送任何值,甚至不會發送'false' )。
但是,除非你做的事情真的很奇怪,我建議你堅持使用助手。或者:
@Html.CheckboxFor(m => m.CityValid)
或
@Html.EditorFor(m => m.CityValid)
在你看來,你可以使用EditorFor
幫手:
@model City
...
@Html.EditorFor(x => x.CityValid)
的布爾字段的默認編輯模板生成一個複選框。
即使這是一個奇怪的請求,她提到沒有HTML助手 – Dante
我認爲*沒有HTML幫手*她/他的意思是*不使用Html.CheckBoxFor幫手*。 –
你可以先用HTML輔助創建它,看看那被運行頁面時創建的標記,然後重新創建標記......
可能你只是解釋 「沒有htmlHelpers」 的原因是什麼?這看起來很奇怪... –
我有更多的邏輯,我想適合周圍的事情。例如,我會在循環中執行此操作,並向複選框添加不同的名稱。 checkbox_1等。這就是我想在沒有幫手的情況下做的原因。謝謝。 –
如果您有一個複選框列表,您可能需要考慮使用類似的東西http://stackoverflow.com/a/4057281/491950 – Rob