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的值出现在valueattrbiute中,简单使用ToString():
<input type="hidden" value="@Model.BoolProperty.ToString()" />
| 归档时间: |
|
| 查看次数: |
12429 次 |
| 最近记录: |