2013-11-08 2 views
1

У меня есть функция JavaScript следующим образом:Как передать bool функции JavaScript из кода?

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

В моем коде позади, в Page_Load, у меня есть

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

Но это, кажется, не работает правильно. Может ли кто-нибудь сказать мне, что не так?

ответ

8

Вы Попутно капитализируются 'True' и 'False' в кавычках, но литералов JavaScript Boolean являются строчными true и false без кавычек. Изменить это:

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

(Если вы предпочитаете, вы могли бы написать bNeed.ToString().ToLowerInvariant() вместо bNeed ? "true" : "false", потому что Boolean.ToString()"True" возвращается и "False".)

+0

Вместо 'bNeed? «true»: «false» «Я бы порекомендовал« bNeed.ToString(). ToLower() ' – LeastOne

+2

@LeastOne - Типо там:' ToLower() '. Собирался порекомендовать то же самое. –

+0

@JeremyJStarcher Вы никогда не использовали метод '.ToLoser()' eh? Я полагаю, что '.ToLower()' более подходит :) – LeastOne

Смежные вопросы