2010-11-20 5 views

Répondre

3

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") 
0

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.