如何从代码后面将bool传递给JavaScript函数?

时间:2013-11-08 16:18:33

标签: c# javascript asp.net webforms boolean

我有一个JavaScript函数如下:

function A(bNeed)
{
    if (bNeed){
        ...
    }
    else{
        ...
    }
}

在我的代码中,在Page_Load,我有

bool bNeed = File.Exists(...);
btn.Attributes.Add("onclick", string.Format("return A('{0}');", bNeed));

但它似乎无法正常工作。有谁能告诉我出了什么问题?

1 个答案:

答案 0 :(得分:8)

您将大写的'True''False'作为引用的字符串传递,但JavaScript布尔文字是小写的truefalse,不带引号。将其更改为:

btn.Attributes.Add("onclick", string.Format("return A({0});", bNeed ? "true" : "false");

(如果您愿意,可以写bNeed.ToString().ToLowerInvariant()代替bNeed ? "true" : "false",因为Boolean.ToString()会返回"True""False"。)