Est-ce que les HTMLHelpers existants fonctionneront avec Razor? Si oui, Razor change-t-il quelque chose au sujet de la conception ou de l'utilisation des HTMLHelpers?HTMLHelpers de compatibilité MVC2 avec Razor
thx
Est-ce que les HTMLHelpers existants fonctionneront avec Razor? Si oui, Razor change-t-il quelque chose au sujet de la conception ou de l'utilisation des HTMLHelpers?HTMLHelpers de compatibilité MVC2 avec Razor
thx
Oui, les aides existantes fonctionnent parfaitement bien avec rasoir. Par exemple:
@Html.ActionLink("foo bar", "foo")
Qu'est-ce rasoir change est que vous avez maintenant la possibilité de définir des aides inline comme ceci:
@helper FooBar(string foo)
{
<div>Hello @foo</div>
}
Et utiliser comme ceci:
@FooBar("World")
En ce qui classique Les helpers HTML sont concernés, Razor ne change rien, c'est juste un moteur de vue donc vous continuez à écrire vos helpers comme vous l'avez toujours fait:
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());
}
}
Et utiliser dans Razor:
@Html.FooBar("some value")
Razor effectue un codage HTML par défaut.
Ainsi, si l'un de vos HtmlHelpers MVC2 émet un balisage, ils peuvent ne pas fonctionner s'ils retournent String
au lieu de MvcHtmlString
.