ASP MVC4条件属性无法正常工作



i具有以下部分视图,呈现到视图模型。

@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为True时,我希望required attribute可用,否则不可用。当我运行该代码并且IsRequired是错误的时,required attribute会带有空值:必需品="。我是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"(如果是错误的,反之亦然)

是不正确的:

来自HTML文档:

所需的属性是一个布尔属性,可以通过以下方式设置:

<input required>
<input required="required">
<input required="">

注意:我正在使用剃须刀2.0

我做错了什么?

MVC在这些特殊情况下与布尔值一起工作(假设所需的作品(如已检查))。尝试以下操作:

required="@Model.IsRequired"

您还可以检查您的项目参考,以确认您正在使用Razor 2作为上面的示例也应起作用。右键单击System.Web.Razor查看属性,然后查看它是什么版本。它应该是2.0.0.0

最新更新