HTML Ayudantes de compatibilidad MVC2 con la maquinilla de afeitar
-
26-09-2019 - |
Pregunta
aparecerá HtmlHelper existentes trabajan con la maquinilla de afeitar? Si es así, ¿Razor cambiar nada de bien el diseño o el uso de HtmlHelper?
THX
Solución
Sí, ayudantes existentes funciona perfectamente bien con la maquinilla de afeitar. Por ejemplo:
@Html.ActionLink("foo bar", "foo")
Lo que cambia es la maquinilla de afeitar que ahora tiene la posibilidad de definir ayudantes en línea como esta:
@helper FooBar(string foo)
{
<div>Hello @foo</div>
}
Y el uso de esta manera:
@FooBar("World")
En lo que a clásico ayudantes HTML se refiere, la maquinilla de afeitar no cambia nada, es sólo un motor de vista de forma continua escribiendo sus ayudantes la que siempre ha hecho:
public static class HtmlExtensions
{
public static MvcHtmlString FooBar(this HtmlHelper htmlHelper, string value)
{
var builder = new TagBuilder("div");
div.SetInnerText(value);
return MvcHtmlString.Create(div.ToString());
}
}
Y el uso de la maquinilla de afeitar:
@Html.FooBar("some value")
Otros consejos
Razor realiza HTML codificación por defecto.
Así que si alguno de sus HtmlHelper MVC2 emiten marcado, que podrían no funcionar si están regresando String
en lugar de MvcHtmlString
.