Je veux faire quelque chose comme çaOpérateur conditionnel avec DataBinder.Eval
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0")
?"n/a"
:"DataBinder.Eval(Container, "DataItem.Age")"%>
est-il possible?
Je veux faire quelque chose comme çaOpérateur conditionnel avec DataBinder.Eval
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0")
?"n/a"
:"DataBinder.Eval(Container, "DataItem.Age")"%>
est-il possible?
Assurez-vous que vous appelez DataBinder
au lieu de simplement retourner une chaîne:
Modifier ceci:
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0") ?
"n/a":"DataBinder.Eval(Container, "DataItem.Age")"%>
Pour:
<%#(DataBinder.Eval(Container, "DataItem.Age").ToString()=="0") ?
"n/a":DataBinder.Eval(Container, "DataItem.Age")%>
Ce que vous faites est retourne une chaîne au lieu de l'exécution de l'expression de liaison.
Vous pouvez écrire une méthode au niveau de la page et formater la sortie à cet endroit.
par exemple
<%# GetAgeDisplay(Eval("Age")) %>
et code derrière:
public String GetAgeDisplay(Int16 age) {
return age == 0 ? "n/a" : String.Format("{0}", age);
}
Qu'est-ce qui est arrivé lorsque vous avez essayé? –