considere el siguiente código que estoy usando al mostrar la dirección postal de un cliente dentro de una tabla en una vista:ASP.NET MVC/C#: ¿Puedo evitar repetirme en una declaración condicional de una línea de C#?
<%: Customer.MailingAddress == null ? "" : Customer.MailingAddress.City %>
me encuentro con una cantidad razonable de estos estados condicionales ternarios y me pregunto si hay una forma de referirme al objeto que se evalúa en la condición para poder usarlo en la expresión. Algo como esto, quizás:
<%: Customer.MailingAddress == null ? "" : {0}.City %>
¿Algo como esto existe? Sé que puedo crear una variable para mantener el valor, pero sería bueno mantener todo dentro de una pequeña declaración apretada en las páginas de vista.
Gracias!
+1 No porque yo use eso, pero me gusta cómo usa el encadenamiento :-) –
No creo que esto realmente funcione para hacer lo que el OP quiere. Si Customer.MailingAddress no es nulo, entonces el resultado de la declaración es el objeto Customer.MailingAddress, pero el usuario quiere la propiedad de la Ciudad de ese objeto, no el objeto en sí. –
@ Adam Porad. Eso no es cierto. El resultado ** del primer Bloque Paren ** es siempre una dirección de correo no referenciable. A continuación, obtenemos la propiedad/campo de esa dirección de correo (y null lo combinan si es necesario). – McKay