有没有办法将 dll 从类项目(或者可能是另一个 Web 应用程序项目)导入到 Web 应用程序项目中并重用 @helper?如果无法实现,Razor Web 应用程序的可重用性似乎几乎为零。
最佳答案
你可以做到,但你必须跨越几个障碍。
您需要获取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>
关于c# - 从类项目导入 Razor @helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856484/