在 asp.net 网页框架中,使用内容块和帮助程序有什么区别?
它们似乎都用于将 HTML 输出到多个页面。它们都可以包含代码并且都可以传递参数。
还有其他区别吗?什么时候应该使用助手而不是内容块?
更多信息:
使用内容块,我们创建一个 .cshtml(例如 _MakeNote.cshtml)文件来保存我们想要插入页面的内容。然后我们使用:
@RenderPage("/Shared/_MakeNote.cshtml")
将内容插入页面。我们可以像这样将参数传递给内容块:
@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" })
它有点像一个包含文件,但我认为不与父页面共享范围。
使用 Helpers,我们在 App_Code 文件夹中创建一个 .cshtml 页面(例如 MyHelpers.cshtml),并将方法放置在我们想要调用的那个页面中。该方法看起来像这样:
@helper MakeNote(string content) {
<div>@content</div>
}
使用以下方法调用帮助程序:
@MyHelpers.MakeNote("Hello from helper")