加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 使用HTML.EditorFor Vs使用HTML.CheckBox

发布时间:2020-12-16 09:54:27 所属栏目:asp.Net 来源:网络整理
导读:我有以下模型类,其中包含bool值: – Public class Server{ public bool IsIPUnique { get; set; }} 目前我使用以下内容显示我的Razor视图中的复选框: – input type="CheckBox" name="IsIPUnique" value="true" @(Html.Raw(Model.IsIPUnique ? "checked="
我有以下模型类,其中包含bool值: –

Public class Server
{
        public bool IsIPUnique { get; set; }
}

目前我使用以下内容显示我的Razor视图中的复选框: –

<input type="CheckBox" name="IsIPUnique" value="true" @(Html.Raw(Model.IsIPUnique ? "checked="checked"" : ""))/> IP Unique.

但我读到了关于EditorFor模板,它可以自动创建复选框并根据模型值检查/取消选中它,所以我尝试了以下方法: –

@Html.EditorFor(model=>model.IsIPUnique)<span>test</span>

所以我的问题是,如果我可以用使用EditorFor的新代码替换我的旧代码,或者asp.net mvc可能会以不同的方式处理这些值?
谢谢

解决方法

基本上你有3种可能性:

手动编写HTML(正如您所做)

如果有可用的HTML助手,我会避免手动编写HTML.
手动编写的HTML容易出错,这可能会导致模型绑定出现问题.

使用特定的HTML帮助程序(Html.CheckBoxFor)

特定的HTML帮助程序为所有控件添加了一个抽象层.
修改使用相同HTML帮助程序的所有控件的模板很容易,它使您的视图更具可读性.

使用通用EditorFor

如果模型数据类型经常更改,则EditorFor HTML帮助程序非常有用.
EditorFor会自动将输入字段调整为新的数据类型,并且不会抛出错误(与特定的HTML帮助程序一样).
将HTML属性添加到EditorFor也有点困难,而特定的HTML帮助程序通常会有重载.
但是,这在MVC 5.1:http://weblogs.asp.net/jongalloway/looking-at-asp-net-mvc-5-1-and-web-api-2-1-part-3-bootstrap-and-javascript-enhancements中已得到修复

结论:在你的情况下,我会使用CheckBoxFor HTML帮助器,因为数据类型不会发生变化,它会使视图更清晰

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读