如何在我的视图中使用ASP MVC设置复选框?

时间:2012-05-08 12:25:19

标签: asp.net-mvc asp.net-mvc-3

我有以下课程:

   public class City {  
      public string Name { get; set; }
      public bool CityValid { get; set; }
   }

我知道如何设置名称,但如何设置CityValid字段,使其像一个复选框。我想在不使用HTML助手的情况下这样做。

3 个答案:

答案 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帮助程序创建它,查看运行页面时创建的标记,然后重新创建该标记......