如何将ViewModel布尔值传递给jquery函数?

如何将ViewModel布尔值传递给jquery函数?,jquery,asp.net-mvc,asp.net-mvc-3,razor,Jquery,Asp.net Mvc,Asp.net Mvc 3,Razor,我想要一个div来显示ViewModel bool是否设置为true 我试过这个: $(function () { $("#myDiv").toggle(@Model.IsRequired); } 但是@Model.IsRequired显示为“真”或“假”,而不是“真”或“假” 有什么想法吗?你可以写@Model.IsRequired.ToString().ToLower() 我不认为有任何更好的解决方案(除了您自己的扩展方法)除了将字符串小写之外,还有其他方法: 对实际字符串使用三元

我想要一个div来显示ViewModel bool是否设置为true

我试过这个:

$(function () {
    $("#myDiv").toggle(@Model.IsRequired);
}
但是
@Model.IsRequired
显示为“真”或“假”,而不是“真”或“假”


有什么想法吗?

你可以写
@Model.IsRequired.ToString().ToLower()


我不认为有任何更好的解决方案(除了您自己的扩展方法)

除了将字符串小写之外,还有其他方法:

对实际字符串使用三元运算符

$(function () {
    $("#myDiv").toggle(@(Model.IsRequired?"true":"false"));
}
也可以根据值输出不同的调用

$(function () {
    @if (Model.Required)
    {
        $("#myDiv").toggle(true);
    }
    else
    {
        $("#myDiv").toggle(false);
    }
}
或者把它们结合起来

$(function () {
    @(Model.IsRequired
         ?"$('#myDiv').toggle(true);"
         :"$('#myDiv').toggle(false);")
}

这里还有另一种使用jQuery/javascript的方法:

标记:

<... onclick='HandleClick()' ... />
function HandleClick() {
    var isRequired = '@Model.IsRequired';
    if (isRequired === 'True') {
        $('#myDiv').toggle(true);
    } else {
        $('#myDiv').toggle(false);
    }
}