我如何可以比较来自C#Viewbag在Javascript中的值?(How can I compar

2019-09-22 00:46发布

我想从一个比较布尔值Viewbag在JavaScript。 所以刚开始我尝试这样做:

if (@Viewbag.MyBoolValue)
    do_sth();

但后来我在喜欢的控制台错误: Value False/True is not declared (不完全)。

所以我尝试这样做:

@{
    string myBool = ((bool)Viewbag.MyBoolValue) ? "true" : "false";
}

并在javascript:

if (@myBool == "true")
    do_sth();

但它不工作过。 我怎样才能使它发挥作用? 任何帮助,将不胜感激。

Answer 1:

你有什么应该工作,假设从ViewBag的值是一个类型的JavaScript可以理解的。

但是请注意,你的第一个例子中很可能没有工作,因为布尔值在JavaScript和大写的C#小写。 考虑到这一点,试试这个:

var myBoolValue = @Viewbag.MyBoolValue.ToString().ToLower();
if (myBoolValue)
    do_sth();


Answer 2:

下面将创建vailable从viewbag值一个javascript

<script>
    var myBoolInJs = @Viewbag.MyBoolValue;
    if(myBoolInJs == true)
     do_sth();
</script>


Answer 3:

var myBoolVal = @((ViewBag.MyBoolValue ?? false).ToString().ToLower());

要么

var myBoolVal = '@(ViewBag.MyBoolValue)'==='@true';

要么

 var myBoolVal = @(Json.Encode(ViewBag.MyBoolValue ?? false));


Answer 4:

这将工作。

@{     
   string myBool = Viewbag.MyBoolValue.ToString().ToLower(); 
}

if (@myBool)
    do_sth(); 


Answer 5:

insted的真假用0和1的控制器,在剃刀页面顶部

@{ 
    var isSomething= Viewbag.MyBoolValue;
}

后来下来

if (@isSomething== 0)


文章来源: How can I compare a value from C# Viewbag in Javascript?