Razor中的函数和帮助程序有什么区别?

时间:2014-01-31 16:43:14

标签: c# asp.net asp.net-mvc razor

从我读过的教程中,函数总是包含C#代码。总是如此,或者我们可以在函数中使用Razor语法吗?另一方面,我们可以在帮助程序中使用C#代码吗?

2 个答案:

答案 0 :(得分:8)

使用函数进行处理和帮助以进行显示。

功能 用于 定义C#代码 ,仅用于与您的网页相关的C#代码。您可以执行某些(最好是小型)数据操作等的位置。当然,这应该位于控制器或服务层中,然后传递给您的模型。

同时 帮助 用于实际显示。 一种将HTML编写为HTML 的方法,无需使用普通字符串,TagBuilders或其他混乱的C#策略来吐出HTML。

是的,正如其他人所说,它们是“可重复使用的”。那么页面中的静态C#方法......(修辞)为什么不这样做呢?

关键是能够在更自然的HTML环境中创建/编辑HTML。

并且 是的,您可以使用常规旧的@ razor语法在帮助程序中使用C#代码 。但是,再次应该限于按惯例显示目的。 IE:循环遍历列表以创建元素等。

答案 1 :(得分:2)

剃刀助手和功能之间的区别如下:

帮助程序是用于呈现HTML的可重用代码段,返回类型始终为HelperResult

一个函数是一个静态实用程序,可以在剃刀文件中的任何位置调用,并且可以有不同的返回类型。

虽然这是针对WebMatrix的,但这篇文章应该为您清除:

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