¿Existe alguna función de utilidad para escaparse de JavaScript en las vistas ASP.NET MVC? A menudo necesito iniciar un pequeño fragmento de JavaScript usando algunos valores de la vista; por ejemplo, es posible que tenga algo como:Escapar literals de cadenas de JavaScript en las vistas
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Model.UserName %>" });
page.init();
</script>
yo esperaría algo como:
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Html.JavaScriptEscape(Model.UserName) %>" });
page.init();
</script>
Podría, por supuesto, escribir la función de mí mismo. Pero dado que ya existen utilidades integradas de codificación HTML, y dado que uno de los puntos de venta de ASP.NET MVC es que el <%%> es el modo de representación predeterminado, y dado que lo que intento lograr es bastante común , me hace preguntarme por qué no puedo encontrar algo así ya incorporado. ¿Existe, por ejemplo, una manera fácil y elegante de serializar un objeto a JSON en vistas?
¿O estoy haciendo algo en contra de los principios de ASP.NET MVC? Cuando llego a un problema como este, generalmente hace pensar que o bien estoy haciendo algo mal, ya que supongo que los diseñadores del framework pasaron algún tiempo pensando en escenarios del mundo real.