我可以在声明性帮助器中拥有私有函数或私有声明性帮助器吗?

时间:2011-11-25 23:27:41

标签: c# asp.net-mvc asp.net-mvc-3 razor razor-declarative-helpers

  

可能重复:
  Using @helpers from another View in Razor ASP.Net MVC3

我的环境:带有Razor的ASP.NET MVC3。

我在App_Data目录中的声明性帮助器中有一些可重用的视图逻辑,它们被定义为@helper bar() { /* markup */ }并且对于任何视图都是公共的。

此外,在常规的Razor视图中,我可以编写“私人”助手:

@functions {
  public IHtmlString foo() { return new MvcHtmlString("foo"); }
}

我想在声明性帮助器中使用“私有”函数,或者,我希望在声明性帮助文件中包含“私有”声明性帮助器。另一种方法是编写常规的辅助类 - 但在这种情况下我更喜欢标记,因为它更简洁,更容易维护。

你为什么要这样做?你有一个观点,你想要引入一些标记;这是通过引用声明性帮助程序完成的。但该DH是一个文件,其中包含使用常见标记的其他DH。因此,您希望将所有共性转移到一个地方:一个“私有”声明函数/帮助程序,只有该文件中的DH才能看到。

0 个答案:

没有答案