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

asp.net-mvc – ASP.NET MVC 5为隐藏输入渲染不同的bool值

发布时间:2020-12-15 23:39:27 所属栏目:asp.Net 来源:网络整理
导读:给出以下viewmodel: public class FooViewModel{ public bool IsBoolValue { get; set; }} 和这个观点: input type="hidden" id="Whatever" data-something="@Model.IsBoolValue" value="@Model.IsBoolValue" / 隐藏输入字段的输出是: input type =“hidd
给出以下viewmodel:
public class FooViewModel
{
    public bool IsBoolValue { get; set; }
}

和这个观点:

<input type="hidden" id="Whatever" data-something="@Model.IsBoolValue" value="@Model.IsBoolValue" />

隐藏输入字段的输出是:

< input type =“hidden”id =“无论如何”data-something =“True”value =“value”>

值属性没有设置为true,但是data-something属性是什么?

是否有MVC 5的变化,这将导致这一点,因为在我的MVC 4应用程序这个问题不会发生.

解决方法

我想我已经弄清楚了.

我相信Razor viewengine遵循HTML 5设置布尔属性的方式,如下所述:

What does it mean in HTML 5 when an attribute is a boolean attribute?

在HTML 5中,bool属性设置如下:

< input readonly />

要么

< input readonly =“readonly”/>

因此,如果Model.IsBoolValue为true,则Razor viewengine会使用您的模型的bool值,并将渲染(在我的情况下)值属性.否则,如果它是false,那么value属性根本就不会被渲染.

编辑:

正如Zabavsky在评论中所说,强制True或False的值出现在值attrbiute中,简单的使用ToString():

< input type =“hidden”value =“@ Model.BoolProperty.ToString()”/>

(编辑:李大同)

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

    推荐文章
      热点阅读