2010-11-20 49 views

回答

3

是的,現有的輔助工具與Razor完美配合。例如:

@Html.ActionLink("foo bar", "foo") 

什麼剃刀的變化是,現在你必須定義聯機助手這樣的可能性:

@helper FooBar(string foo) 
{ 
    <div>Hello @foo</div> 
} 

而且使用這樣的:

@FooBar("World") 

至於經典關於HTML助手而言,剃刀並沒有什麼改變,它只是一個視圖引擎,所以你繼續像以往一樣編寫助手:

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()); 
    } 
} 

而且在剃刀使用:

@Html.FooBar("some value") 
0

剃刀默認執行HTML編碼。

因此,如果您的任何MVC2 HtmlHelpers發出標記,他們可能無法正常工作,如果他們返回String而不是MvcHtmlString