有没有办法将一个 dll 从一个类项目(或者可能是另一个 Web 应用程序项目)导入一个 Web 应用程序项目并重用 @helper?如果无法实现,使用 Razor 的 Web 应用程序的可重用性似乎几乎为零。
问问题
1150 次
1 回答
3
你可以做到,但你必须跳过几个圈。
您需要获取RazorGenerator:“这是 Visual Studio 的自定义工具,允许在设计时而不是运行时处理 Razor 文件,允许将它们构建到程序集中以便更简单地重用和分发。”
使用 RazorGenerator,您可以在类库项目中创建声明
helper
函数的 .cshtml 文件。例如,在一个名为 Foo.cshtml 的文件中:@helper MyHelper(string parameter) {<text>@parameter</text>}
这些助手将作为静态方法存在于代表您的 .cshtml 文件的静态类中。在上面的示例中,这将转换为
Foo.MyHelper
.您可以从 Web 应用程序的 .cshtml 文件中调用这些静态方法,就像任何其他静态方法一样。(假设您添加了正确的
using
指令以指向包含您的助手的命名空间。)例如:<div>@Foo.MyHelper("hello world")</div>
于 2013-04-06T23:11:50.017 回答