在将 ViewModel
传递给 View
之前,我将以下值设置到 ActionMethod
的 ViewModel
中:
if(toDateNullEntries.Count > 0)
{
locationsHistoryVM.IsOpen = false;
}
else
{
locationsHistoryVM.IsOpen = true;
}
在我的 View 中,我有以下 Button
,它从一开始就被禁用
。
<div class="col-md-12 text-center">
<button type="submit" value="Create" class="btn bgm-orange waves-effect mybtn" id="LocateSubmitButton" disabled>SAVE</button>
</div>
现在,如果 ViewModel
的 IsOpen
值为 true
,我想启用
它。如果没有,我希望它保持禁用
。我该怎么做?
编辑
我尝试通过 ViewBag
发送 IsOpen
值,然后我用 jQuery
按以下方式检查该值:
if(@ViewBag.IsOpen === "false"){
$('#LocateSubmitButton').removeAttr("disabled");
})
但是,在这种情况下,我遇到了以下错误:
Uncaught ReferenceError: False is not defined
在执行 Inspect Element
时,我看到代码正在尝试比较 False === false
。
我不想继续使用 ViewBag
的原因是因为我知道这是一个不好的做法,我想使用 ViewModel
。有没有办法使用 ViewModel
实现相同的功能?
最佳答案
您可以使用条件属性:
<button disabled="@(Model.IsOpen == false)">SAVE</button>
如果条件评估为true
,则该属性将存在,否则将不存在。
关于html - 如何根据 ViewModel 的值启用/禁用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49562257/