0

我有以下课程:

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

我知道如何设置名称,但如何设置 CityValid 字段,使其类似于复选框。我想在不使用 HTML 帮助器的情况下做到这一点。

4

3 回答 3

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)
于 2012-05-08T12:33:50.460 回答
1

在您看来,您可以使用EditorFor帮助程序:

@model City
...
@Html.EditorFor(x => x.CityValid)

布尔字段的默认编辑器模板会生成一个复选框。

于 2012-05-08T12:27:24.070 回答
0

您可以首先使用 HTML 助手创建它,查看运行页面时创建的标记,然后重新创建该标记...

于 2012-05-08T12:30:10.043 回答