Javascript comparing boolean value with True

I am trying to compare a database value (SQL) (which returns correctly) to a boolean value of "true". If the value of the database bit is = true, I want the div element to become visible and to remain hidden.

<script language="javascript">
    window.onload= function show_CTL() {
        if(<%=_CurrentUser.IsCTL%> == true){
            document.getElementById('CTL').style.visibility = "visible";
        } else{
            document.getElementById('CTL').style.visibility = "hidden";
        }
    }    
</script>

However, I get the error, Javascript: "True" is undefined.

I tried many combinations of <% = _ CurrentUser.IsCTL%> == 'true' or "true" or true or "True" or "true" and even === ... but everyone gives me the same error message.

Everyone knows how to solve this problem.

I have such comparisons successfully previously with integer values ​​such as: -

 window.onload= function show() {
    if(<%=_CurrentUser.RoleKey%> == 1 || <%=_CurrentUser.RoleKey%> == 2)
            document.getElementById('enr').style.visibility = "visible";
    else
            document.getElementById('enr').style.visibility = "hidden";
 }
+4
source share
4 answers

Do it:

if("<%=_CurrentUser.IsCTL%>" === "True")

<%=_CurrentUser.IsCTL%> True. . '===' '=='.

+5

if(<%=_CurrentUser.IsCTL%> == true)

, <%=_CurrentUser.IsCTL%> True , .

if(True == true)

True , . , , :

if(new Boolean('<%=_CurrentUser.IsCTL%>') == true)

if(new Boolean('<%=_CurrentUser.IsCTL%>'))
+2

. ASP.NET True , . , == "True", .

, javascript

var True = true;
+2
source

You need to convert your own boolean value to the string "true" before exiting. Therefore, assuming ASP.NET MVC, I believe it looks like this:

<%=_CurrentUser.IsCTL ? "true" : "false"%>
0
source

Source: https://habr.com/ru/post/1536830/


All Articles