尝试将一个布尔型C#variables传递给一个javascriptvariables并将其设置为true

有问题,在我的.aspx页面中,我传递一个布尔variables(C#)到期望布尔types的JavaScript函数。

BU#C#variables返回True,而javascript不喜欢大写。

myjavascript( <%= MyBooleanVariableInCSharp %> ); 

如果我将c#variables转换为string,那么我的javascriptvariables变成一个string,而不是一个js布尔值!

这个噩梦的解决scheme是什么? 大声笑

尝试这个:

 myjavascript( <%= MyBooleanVariableInCSharp.ToString().ToLower() %> ); 

如果您需要经常这样做,只需将其添加到JavaScript(或您的js库文件等)的顶部,

 var True = true, False = false; 

然后你编码

 myjavascript( <%= MyBooleanVariableInCSharp %> ); 

会工作得很好。

另一个select,如果因为什么原因你不想使用variables是写你的JavaScript调用像这样:

 myjavascript( '<%= MyBooleanVariableInCSharp %>'=='True' ); 

你也可以这样做。

 myjavascript(<%=myBooleanVariableInCSharp ? "true" : "false" %>); 

C#有一个内置的方法。 至less在.NET v4和更新。

var myBoolean = <%= myBooleanFromCodeBehind.ToJs()%>;

如果你使用MVC Razor,你可以写

 myjavascript( @MyBooleanVariableInCSharp.ToString().ToLower() );