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

时间:2011-10-31 02:52:06

标签: jquery asp.net-mvc asp.net-mvc-3 razor

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

我试过了:

$(function () {
    $("#myDiv").toggle(@Model.IsRequired);
}

但是@Model.IsRequired显示为“True”或“False”,而不是“true”或“false”。

有什么想法吗?

3 个答案:

答案 0 :(得分:10)

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

我认为没有更好的解决方案(除了你自己的扩展方法)

答案 1 :(得分:3)

只是小写字符串的一些替代方法:

将三元运算符与实际字符串

一起使用
$(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);")
}

答案 2 :(得分:0)

这是使用jQuery / javascript的另一种方式:

<强> 标记:

<... onclick='HandleClick()' ... />

<强> 脚本:

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