//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" && 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
est dans le contrôleur, quand je suis à la page elle-même de sortie IPourquoi would = ViewData [""] afficherait une chaîne mais l'évaluer pour la même chaîne échoue?
<%=ViewData["ShowPasswordHints"]%>
dans la balise titre et je peux le voir là-bas, il dit « True » (sans les guillemets, j'ai également vérifié pour les espaces par qui l'entoure avec parenthèses et il n'y a pas d'espace, il est littéralement vrai)
Cependant, quand je
<%if(ViewData["ShowPasswordHints"] == "True") {%> SHOW THIS <%}%>
MONTRER cE ne semble, ce que l'enfer?
MISE À JOUR: Cependant, si ViewData est défini comme ceci ... IL FONCTIONNE ... HUH ??
if (accountRepository.isLDAPEnabled(_ID))
ViewData["LDAP"] = "True";
else
ViewData["LDAP"] = "False";
vue ...
<%if(ViewData["LDAP"] == "True"){ %>
SHOW THIS
<%} %>
MERCI TOUT LE MONDE, EST ICI NOUVELLE MÉTHODE QUI FONCTIONNE GRANDE
ViewData["something"] = true;
<%if(true.Equals(ViewData["something"])){%> SHOW THIS <%}%>
Peut-être qu'une meilleure approche (plus sûre) serait '" True ". Equals (ViewData [" ShowPasswordHints "])'. Non ClassCastException si l'objet dans le dictionnaire de données de vue n'est pas une chaîne. – cdhowie
Il serait également utile si vous avez expliqué pourquoi cela se produit automatiquement lors du référencement de l'objet dans son premier cas, la balise de titre. – Sorpigal
voir ma mise à jour, pourquoi ça marche parfois? Quand j'ai essayé de dire = "True" au lieu de = obj.Value cela ne fonctionnait toujours pas mais le code que j'ai ajouté ci-dessus a fonctionné, je suis tellement troublé par ceci :( – BigOmega