簡體   English   中英

Razor中的函數和幫助程序有什么區別?

[英]What is the difference between a function and a helper in Razor?

從我讀過的教程中,函數總是包含C#代碼。 總是如此,或者我們可以在函數中使用Razor語法嗎? 另一方面,我們可以在幫助程序中使用C#代碼嗎?

使用函數進行處理和幫助以進行顯示。

函數用於定義與您的頁面相關的C#代碼和僅C#代碼。 您可以執行某些(最好是小型)數據操作等的位置。當然,這應該位於控制器或服務層中,然后傳遞給您的模型。

同時幫助者用於實際顯示。 一種將HTML作為HTML編寫的方法,無需使用普通字符串,TagBuilders或其他混亂的C#策略來吐出HTML。

是的,正如其他人所說,它們是“可重復使用的”。 那么頁面中的靜態C#方法......(修辭)為什么不這樣做呢?

關鍵是能夠在更自然的HTML環境中創建/編輯HTML。

是的,您可以使用常規的舊@zzor語法在助手中使用C#代碼 但是,再次應該限於按慣例顯示目的。 IE:循環遍歷列表以創建元素等。

剃刀助手和功能之間的區別如下:

幫助程序是用於呈現HTML的可重用代碼段,返回類型始終是HelperResult

函數是一個靜態實用程序,可以在剃刀文件中的任何位置調用,並且可以具有不同的返回類型。

雖然這是針對WebMatrix的,但這篇文章應該為您清除:

http://www.mikesdotnetting.com/Article/173/The-Difference-Between-@Helpers-and-@Functions-In-WebMatrix

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM