何时应该使用Html Helpers、Razor Helpers或Partial Views?

7 浏览
0 Comments

何时应该使用Html Helpers、Razor Helpers或Partial Views?

这三个不同的特性存在于Razor视图引擎中,并且可以用来实现类似的结果。最终,它们都只是渲染HTML代码的片段,但定义和使用它们的方式有很大的区别。我知道:

Html Helpers是为HtmlHelper类创建的扩展方法。它们经常使用TagBuilder类来生成一些HTML,并且总是应该返回一个IHtmlString。

Razor Helpers(@helper方法)可以在本地(同一个Razor文件中)或全局(在App_Code目录中)定义。它们是可以在Razor文件中专门重用的小片段HTML代码。

最后,Partial Views只是普通的视图文件,可以使用@Html.Partial助手将其包含在其他视图文件中。

我的问题是:

这些特性中是否有特定的应用场景?还是只是为了实现相同的结果而提供了不同的方式?

0
0 Comments

当应该使用Html Helpers、Razor Helpers或Partial Views?

在开发Web应用程序时,我们经常需要将视图分为可重用的组件,以便更好地管理和维护代码。为了实现这一目标,我们可以使用HTML Helpers、Razor Helpers或Partial Views。但是,我们需要知道何时使用它们以及如何使用它们。

HTML Helpers是可重用组件,如WebGrid、Pager等。这些组件以程序集的形式分发,并且不依赖于Razor。如果功能真正可重用并适用于任何应用程序,或者不希望其他人对其进行修改或希望对其进行版本控制,则选择使用HTML Helpers。

Partial Views是将大型视图拆分为较小部分以使代码更易于管理的一种方式。它们还可用于特定于应用程序的可重用性。Partial Views是由视图引擎定位的,因此您可以在不同的位置(例如Views / Shared)中定义相同的Partial Views,从而允许您根据控制器、区域或显示模式进行自定义。如果功能是特定于应用程序的,并且想要根据控制器、区域或显示模式进行自定义,则选择使用Partial Views。

Local Helpers是执行相同模板多次而无需重复自己的一种方式。您还可以使用它将视图分成部分,以避免深层嵌套,但仍将所有内容放在同一个文件中。如果功能是特定于视图的,则选择使用Local Helpers。

Application Helpers(在App_Code中)是Local Helpers和HTML Helpers之间的混合体。如果更喜欢Razor而不是TagBuilder,如果不介意分发文件而不是程序集,并且如果更喜欢类型安全的方法调用语法而不是.Partial(name),则选择使用Application Helpers。

当我们需要可重用的组件时,可以选择使用HTML Helpers;当我们需要将视图分为较小的部分,并且特定于应用程序时,可以选择使用Partial Views;当我们需要执行相同的模板多次时,或者当我们需要将视图分成部分以避免深层嵌套时,可以选择使用Local Helpers;如果我们更喜欢Razor而不是TagBuilder,不介意分发文件而不是程序集,并且更喜欢类型安全的方法调用语法而不是.Partial(name),则可以选择使用Application Helpers。

0