Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor中的函数和助手有什么区别?_C#_Asp.net_Asp.net Mvc_Razor - Fatal编程技术网

C# Razor中的函数和助手有什么区别?

C# Razor中的函数和助手有什么区别?,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,从我阅读的教程中,函数总是包含C代码。是否总是这样,或者我们可以在函数中使用Razor语法?另一方面,我们可以在助手中使用C代码吗?剃须刀助手和功能之间的区别如下: 助手是用于呈现HTML的可重用代码段,返回类型始终为HelperResult 函数是一个静态实用程序,可以在razor文件中的任何位置调用,并且可以有不同的返回类型 虽然这是针对WebMatrix的,但本文应该为您澄清一下: 使用处理功能和显示辅助功能 函数用于定义C#code,并且仅定义与页面相关的C#code。您可以在其中执行一

从我阅读的教程中,函数总是包含C代码。是否总是这样,或者我们可以在函数中使用Razor语法?另一方面,我们可以在助手中使用C代码吗?

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

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

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

虽然这是针对WebMatrix的,但本文应该为您澄清一下:


使用处理功能和显示辅助功能

函数用于定义C#code,并且仅定义与页面相关的C#code。您可以在其中执行一些(最好是小的)数据操作等的位置。这实际上应该在控制器或服务层中,然后传递给您的模型

同时,助手用于实际显示一种将HTML编写为HTML的方法,无需使用普通字符串、标记构建器或其他混乱的C#策略即可写出HTML

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

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


而且是的,您可以使用常规的旧@razor语法在助手中使用C#代码。但根据惯例,也应限于展示目的。IE:在列表中循环创建元素等等。

我不知道你在问什么。您有一些示例代码可以发布吗?我可以在Razor函数中调用@RenderPartial()吗?我可以调用Request.Url.Host.ToLower()吗;在剃须刀助手?