Jas*_*ans 29 asp.net-mvc asp.net-mvc-5
给定以下viewmodel:
public class FooViewModel
{
public bool IsBoolValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
而这个观点:
<input type="hidden" id="Whatever" data-something="@Model.IsBoolValue" value="@Model.IsBoolValue" />
Run Code Online (Sandbox Code Playgroud)
隐藏输入字段的输出是这样的:
<input type="hidden" id="Whatever" data-something="True" value="value">
为什么value
属性没有设置True
,但data-something
属性是?
MVC 5是否会发生变化,因为在我的MVC 4应用程序中,这个问题不会发生.
Jas*_*ans 38
我想我已经明白了.
我相信Razor viewengine正在遵循设置布尔属性的HTML 5方法,如下所述:
在HTML 5中,bool属性设置如下:
<input readonly />
要么
<input readonly="readonly" />
因此,Razor viewengine将获取模型的bool值,并且value
如果Model.IsBoolValue
是,将呈现(在我的情况下)属性true
.否则,如果是,则根本不呈现false
该value
属性.
编辑:
正如Zabavsky在评论中所提到的,强制True或False的值出现在value
attrbiute中,简单使用ToString()
:
<input type="hidden" value="@Model.BoolProperty.ToString()" />
归档时间: |
|
查看次数: |
12429 次 |
最近记录: |