我将以下部分视图绑定到视图模型。
@model Omega.UI.WebMvc.Models.InputWithLabelViewModelBase
@{
string required = null;
}
@if (Model.IsRequired)
{
{
required = "required";
}
}
<td><label id="@Model.LabelId">@Model.LabelText</label></td>
<td>
<input id="@Model.InputId" data-bind= "value: @Model.CurrentValueProperty" required="@required"/>
<span class="k-invalid-msg" data-for="@Model.InputId"></span>
</td>
当IsRequired
为真时,我希望required attribute
可用,否则不可用。当我运行该代码并且IsRequired
为false时,required attribute
会显示空值:required =“”。我对asp mvc很新,我不知道我做错了什么。
每只鸽子的帖子更新:
这不起作用:
@{
bool required = Model.IsRequired;
}
<td><label id="@Model.LabelId">@Model.LabelText</label></td>
<td>
<input id="@Model.InputId" data-bind= "value: @Model.CurrentValueProperty" required="@required" />
<span class="k-invalid-msg" data-for="@Model.InputId"></span>
</td>
这将呈现以下html:
required="False"
(如果IsRequired为false,反之亦然)
这是不正确的:
来自html文档:
必需属性是布尔属性,可以通过以下方式设置:
<input required>
<input required="required">
<input required="">
注意:我使用的是Razor 2.0
我做错了吗?
答案 0 :(得分:0)
Mvc takes works with booleans在这些特殊情况下(假设需要的工作如检查)。试试这个:
required="@Model.IsRequired"
您是否也可以检查您的项目参考以确认您使用的是Razor 2,因为上面的示例也可以使用。右键单击System.Web.Razor查看属性并查看它是什么版本。它应该是2.0.0.0