我有以下课程:
public class City {
public string Name { get; set; }
public bool CityValid { get; set; }
}
我知道如何设置名称,但如何设置CityValid字段,使其像一个复选框。我想在不使用HTML助手的情况下这样做。
答案 0 :(得分:3)
如果您真的不想使用帮助程序,则可以使用普通的HTML输入标记:
<input type="checkbox" id="CityValid" name="CityValid" value="@Model.CityValid" />
<input type="hidden" id="CityValue_Hidden" name="CityValid" value="false" />
name属性必须与您的属性名称匹配,以便模型绑定器在您回发到服务器时能够正确地选择它。
使用帮助程序时,将生成类似于上述标记的内容。隐藏字段是存在的,因此无论您是否选中该框,都会使用表单发布数据总是发送一个值(如果您未选中该框,则默认情况下不会发送任何值,而不是甚至是'虚假')。
然而,除非你做的事情非常奇怪,否则我建议你坚持使用助手。之一:
@Html.CheckboxFor(m => m.CityValid)
或
@Html.EditorFor(m => m.CityValid)
答案 1 :(得分:1)
在您的视图中,您可以使用EditorFor
帮助程序:
@model City
...
@Html.EditorFor(x => x.CityValid)
布尔字段的默认编辑器模板会生成一个复选框。
答案 2 :(得分:0)
您可以先使用HTML帮助程序创建它,查看运行页面时创建的标记,然后重新创建该标记......