//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
es en el controlador, cuando llegue a la propia página de salida I¿Por qué would = ViewData [""] mostrar una cadena pero la evaluación de la misma cadena falla?
<%=ViewData["ShowPasswordHints"]%>
en la etiqueta del título y puedo ver que allí se dice "True" (sin comillas, yo también la inspección de espacios de rodeándola con paréntesis y no hay espacios que es, literalmente, sólo Verdadero)
sin embargo cuando hago
<%if(ViewData["ShowPasswordHints"] == "True") {%> SHOW THIS <%}%>
MOSTRAR parece que esto nunca, ¿qué diablos?
ACTUALIZACIÓN: Sin embargo, si ViewData se establece así ... FUNCIONA ... HUH ??
if (accountRepository.isLDAPEnabled(_ID))
ViewData["LDAP"] = "True";
else
ViewData["LDAP"] = "False";
vista ...
<%if(ViewData["LDAP"] == "True"){ %>
SHOW THIS
<%} %>
Gracias a todos, aquí está nuevo método que funciona de maravilla
ViewData["something"] = true;
<%if(true.Equals(ViewData["something"])){%> SHOW THIS <%}%>
Quizás un mejor enfoque (más seguro) sería '" Verdadero ".Equals (ViewData [" ShowPasswordHints "])'. No ClassCastException si el objeto en el diccionario de datos de vista no es una cadena. – cdhowie
También ayudaría si explicara por qué esto sucede automáticamente al hacer referencia al objeto en su primer caso, la etiqueta del título. – Sorpigal
ver mi actualización, ¿por qué a veces funciona? Cuando traté de decir = "Verdadero" en lugar de = obj.Valor todavía no funcionaba, pero el código que agregué arriba funcionó, estoy tan preocupado por esto :( – BigOmega