Ayuda con C# y envio de html desde el controlador

277 views
Skip to first unread message

nesto...@gmail.com

unread,
Nov 12, 2012, 4:19:45 PM11/12/12
to altnet-...@googlegroups.com

Que tal amigos de altnet

 

Estoy queriendo enviar un mensaje de error desde el controlador a la vista y lo hago enviando el string atraves del ViewBag

Cuando envió texto sin ningún tab HTML  no hay problema, pero cuando envió algún tab html por alguna razón este lo muestra tal cual.

Por ejemplo si envió:

ViewBag.error = string.Format(@”Error en el evento <b>{0}</b>”, evento.eventoID);

 

En la vista me muestra: Error en el evento <b>1</b>, cuando debería mostrarme: Error en el evento 1.

 

¿Como podría enviar a la vista tab HTML sin que me lo interprete y lo transforme en una entidad html?

 

Alguna Ayudita!!

 

Desde ya gracias

 

Atte.

Néstor Rodríguez

David Lay

unread,
Nov 12, 2012, 4:32:16 PM11/12/12
to altnet-...@googlegroups.com

No lo vas a creer pero hace 5 minutos tuve que googear lo mismo (pero por unos string  JSON)

Cuando lo muestres en la vista en vez de poner @mensaje coloca @Html.Raw(mensaje) y listo.

--
Has recibido este mensaje porque estás suscrito al grupo "AltNet-Hispano" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a altnet-...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a altnet-hispan...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/altnet-hispano?hl=es.

Fernando Claverino

unread,
Nov 12, 2012, 4:39:39 PM11/12/12
to altnet-...@googlegroups.com
Hola Nestor,

che y si hacés algo así en el controller:
ViewBag.eventoID = evento.eventoID;

y en la vista:
Error en el evento <b>@ViewBag.eventoID</b>

Como para la vista solo tenga la responsabilidad de mostrar información y el controller solo de obtenerla.

saludos,


2012/11/12 David Lay <davi...@gmail.com>

nesto...@gmail.com

unread,
Nov 13, 2012, 6:54:19 AM11/13/12
to altnet-...@googlegroups.com

Gracias funciono de lujo!!, lo que pasa es que tengo algunos inconvenientes con el ingles y en español no hay tanta información.

Leonardo Micheloni

unread,
Nov 13, 2012, 7:10:12 AM11/13/12
to altnet-...@googlegroups.com
lo que dice Fer me gusta, me suena raro enviar desde un controller
html a la vista.....

2012/11/13 <nesto...@gmail.com>:
Leonardo Micheloni
@leomicheloni

Cristian Prieto

unread,
Nov 13, 2012, 7:11:48 PM11/13/12
to altnet-...@googlegroups.com
Que el controller envie HTML es un antipatron... no importa como lo pinten, es un antipatron...

"Hey, pero lo que quiero es enviar un mensaje de error"... bueno, hazlo, especifica desde el controlador que ocurrio un error y la vista tiene un lugar especifico con estilos especificos para mostrarlo...

Que tiene de malo pasar "este es un <b>error</b>"????? Vamos por partes...

1. Localizacion (que pasa si quieres mostrar en quechua? ingles? swahili?)
2. Muestra contenido + estilo (y que si ahora no quieres en negrita si no en cursiva? y por cierto, se usa <strong></strong> no <b></b> para enfasis, <b> es deprecated o mejor dicho, no _deberia_ usarse, esta es una discusion no relevante en la cual podriamos hablar mucho).
3. Si bien ViewBag es un amigo cuando fue introducido mi mayor miedo era que la gente lo usara como el Arca de Noe, donde todos caben... Segun veo en el ejemplo que muestras es para indicar que un error paso, porque no manejarlo separado como infraestructura de mensajes? inclusive el mensaje de 'error en el evento blah' indica que es una cadena predefinida, muevela a un helper en la vista, que puedas manejar tranquilamente y que tu helper mejor vea si hay un error en la viewbag y listo... en vez de que tu controlador 'tenga que enviar toda la cadena'... Que tu controlador escupa directamente cosas hacia tu vista te va a dar problemas de mantenibilidad en el futuro... Creeme, ya ha pasado...

Cristian Prieto


2012/11/13 Leonardo Micheloni <leonardogabr...@gmail.com>

nesto...@gmail.com

unread,
Nov 14, 2012, 6:42:03 AM11/14/12
to altnet-...@googlegroups.com

Debe ser interesante poder hacerlo, pero para un novato eso que dices es como leer chino jeje, para comenzar uno apenas entiende como usar LINQ y algunos helpers, así que lastimosamente uno tiene que pasar por esos, al principio, “amables anti patrones” para luego darse cuenta que eran los “malos anti patrones”. Ir por el lado oscuro es mas fácil, después uno encuentra la luz jeje.

Sin embargo, eso no quita que estas muy en lo cierto y va mi gratitud por mostrarme un poco de luz, en esta senda medio oscura que tengo que recorrer antes de encontrar la luz y estar entre los iluminados como tu jejeje.

 

Atte.

Néstor Rodríguez

Reply all
Reply to author
Forward
0 new messages