title: Why would =ViewData[""] show a string but evaluating it for the same string fail?
body: <pre><code>//CHECK IF WE SHOULD SHOW THE PASSWORD HINT OR NOT
  Setting passwordhints;
  
  using (var db = new dbDataContext())
  {
      passwordhints = (from c in db.Settings
              where c.Name == "ShowPasswordHints" &amp;&amp; c.ID == _ID
              select c).FirstOrDefault();
  }
  
  if (passwordhints != null)
      //NOTE: .Value IS A STRING
      ViewData["ShowPasswordHints"] = passwordhints.Value;
  else
      ViewData["ShowPasswordHints"] = "False";
  
  //END PASSWORD HINTS CHECK
  </code></pre>
  
  <p>is in the controller, when I get to the page itself I output</p>
  
  <p><code>&lt;%=ViewData["ShowPasswordHints"]%&gt;</code> into the title tag and I can see it up there it says "True" (without quotes, I also checked for spaces by surrounding it with parenthesis and there are no spaces it is literally just True)</p>
  
  <p>However when I do </p>
  
  <pre><code>&lt;%if(ViewData["ShowPasswordHints"] == "True") {%&gt; SHOW THIS &lt;%}%&gt;
  </code></pre>
  
  <p>SHOW THIS never appears, what the hell?</p>
  
  <p><strong>UPDATE</strong>: However, if ViewData is set like this... IT WORKS... HUH??</p>
  
  <pre><code>if (accountRepository.isLDAPEnabled(_ID))
                  ViewData["LDAP"] = "True";
              else
                  ViewData["LDAP"] = "False";
  </code></pre>
  
  <p>view...</p>
  
  <pre><code>&lt;%if(ViewData["LDAP"] == "True"){ %&gt;
             SHOW THIS
           &lt;%} %&gt;
  </code></pre>
  
  <p><strong>THANKS EVERYONE, HERE IS NEW METHOD THAT IS WORKING GREAT</strong></p>
  
  <pre><code>ViewData["something"] = true;
  
  &lt;%if(true.Equals(ViewData["something"])){%&gt; SHOW THIS &lt;%}%&gt;
  </code></pre>