如何在Javascript中比较C#Viewbag中的值?

Mat*_*ski 6 javascript c# asp.net-mvc-3

我想比较Viewbagjavascript中的布尔值.所以起初我试过这个:

if (@Viewbag.MyBoolValue)
    do_sth();
Run Code Online (Sandbox Code Playgroud)

但后来我在控制台中遇到错误:( Value False/True is not declared不完全一样).

所以我尝试了这个:

@{
    string myBool = ((bool)Viewbag.MyBoolValue) ? "true" : "false";
}
Run Code Online (Sandbox Code Playgroud)

并在JavaScript中:

if (@myBool == "true")
    do_sth();
Run Code Online (Sandbox Code Playgroud)

但它也不起作用.我怎样才能使它工作?任何帮助,将不胜感激.

Ror*_*san 18

假设ViewBag中的值是javascript可以理解的类型,那么你应该有所作为.

但请注意,您的第一个示例很可能无效,因为布尔值在javascript中为小写,在C#中为大写.考虑到这一点,试试这个:

var myBoolValue = @ViewBag.MyBoolValue.ToString().ToLower();
if (myBoolValue)
    do_sth();
Run Code Online (Sandbox Code Playgroud)