2011-03-18 34 views
1

在asp.net網頁框架是什麼使用內容塊與一個助手之間的區別?asp.net網頁內容塊和輔助差異

他們似乎都被用來輸出HTML多個頁面。它們都可以包含代碼,並且都可以傳遞參數。

還有沒有其他的區別是什麼?什麼時候應該使用助手而不是內容塊?

更多信息:

隨着我們創建了一個.cshtml(例如_MakeNote.cshtml)內容塊文件來保存我們要插入到頁面中的內容。然後我們使用:

@RenderPage("/Shared/_MakeNote.cshtml") 

將內容插入頁面。我們可以傳遞參數給這樣的內容分塊:

@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" }) 

這有點像一個包含文件,但我認爲不與父頁面共享範圍。

有了幫手,我們創造在App_Code文件夾中的.cshtml網頁(例如MyHelpers.cshtml)和地點的方法中,我們要調用的頁面。該方法看起來是這樣的:

@helper MakeNote(string content) { 
    <div>@content</div> 
} 

助手使用名爲:

@MyHelpers.MakeNote("Hello from helper") 
+0

你說asp.net-MVC?沒有聽說過web表單中的助手 – gideon 2011-03-18 05:17:47

+0

這是關於與Webmatrix IDE /堆棧一起引入的網頁框架。它不是webforms或mvc。它更像是經典的asp或基本的php,但與.net。 – dtc 2011-03-18 05:25:32

回答

1

沒有相差很多的功能。助手需要進入App_Code文件夾 - 除非您下載VWD或Visual C#Express並編譯二進制文件 - 並且App_Code文件夾不能很好地轉換爲MVC框架。當然,如果你想在某個時候升級到MVC,這只是相關的。

我會用一個幫手喜歡你MakeNote通用功能片段。我會使用「內容塊」(部分,真的)用於頁面的重複站點特定部分。