禁用倒置布尔按钮

时间:2018-07-25 11:42:31

标签: html asp.net-mvc razor

如果此属性为false,我想禁用按钮:

public bool HasRightSELECT { get; set; }

我试图通过以下方式实现这一目标:

<button type="submit" class="btn btn-info" disabled="!@Model.TablesWithRights[i].HasRightSELECT" name="View" value="@i">View</button>

<button type="submit" class="btn btn-success" disabled="@{!Model.TablesWithRights[i].HasRightSELECT}" name="Insert" value="@i">Insert</button>

我知道我可以将属性重命名为HasNORightSelect,但是我想知道如何通过“ inverted”值设置禁用值。

2 个答案:

答案 0 :(得分:2)

如果存在disabled,则无论该值如何,您的按钮都将被禁用。

您应该尝试类似:

<button type="submit" class="btn btn-info" @(!Model.TablesWithRights[i].HasRightSELECT ? "disabled" : "") name="View" value="@i">
    View
</button>

答案 1 :(得分:1)

只需添加一个if语句:

@if(Model.TablesWithRights[i].HasRightSELECT)
{
     <input disabled/>    
}
else
{
     <input/>
}

顺便说一句blog post,因此不应包含任何值。它的存在指示是否禁用了某些功能。

另一个(更简洁的)选项是向模型添加计算值:

public bool HasRightSELECT { get; set; }
public string HasRightSELECTdisabled
{
   get
   {
       if (this.HasRightSELEC)
           return "disabled";
       else
           return string.Empty;
   }
}

<input @Model.TablesWithRights[i].HasRightSELECTdisabled />