2016-08-23 66 views
1
@{ 
    bool a = false; 
}  

<script> 

var element = '<a href="www.testurl.com" + '?a=' + @(a)'; 
$('#anyElement').append(element); 

</script> 

的錨定標記將具有的href,www.testurl.com?a=False爲什麼RAZOR輸出一個大寫的布爾值?

在IE11,至少一個變量將被呈現爲假,而不是假的。這會導致ECMAScript錯誤,因爲現在JavaScript/ECMAScript編譯器認爲False是未定義的變量。

爲什麼RAZOR不以小寫呈現該變量?

回答

1

剃刀只是使用ToString() - 任何你放在那裏的方法。在bool的情況下,將評估爲TrueFalse。爲了解決這個問題,你自己小寫:

@{ 
    bool a = false; 
}  

<script> 

var element = '<a href="www.testurl.com" + '?a.ToString().ToLower()=' + @(a)'; 
$('#anyElement').append(element); 

</script> 
相關問題