c# - 从类项目导入 Razor @helper

标签 c# asp.net razor razor-2

有没有办法将 dll 从类项目(或者可能是另一个 Web 应用程序项目)导入到 Web 应用程序项目中并重用 @helper?如果无法实现,Razor Web 应用程序的可重用性似乎几乎为零。

最佳答案

你可以做到,但你必须跨越几个障碍。

  1. 您需要获取RazorGenerator :“这是 Visual Studio 的自定义工具,允许在设计时而不是运行时处理 Razor 文件,从而允许将它们构建到程序集中以便更简单地重用和分发。”

  2. 使用 RazorGenerator,您可以在类库项目中创建声明 helper 函数的 .cshtml 文件。例如,在名为 Foo.cshtml 的文件中:

    @helper MyHelper(string parameter) {<text>@parameter</text>}
    
  3. 这些助手将作为静态方法存在于表示 .cshtml 文件的静态类中。在上面的示例中,这将转换为 Foo.MyHelper

  4. 您可以像任何其他静态方法一样从 Web 应用程序的 .cshtml 文件中调用这些静态方法。 (假设您已添加正确的 using 指令以指向包含助手的命名空间。)例如:

    <div>@Foo.MyHelper("hello world")</div>
    

关于c# - 从类项目导入 Razor @helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15856484/

相关文章:

asp.net - 与 MVC 的混淆及其处理表单的方式

c# - 在带有 Razor 的 Asp.net MVC 中重新登录时显示最后的 cookie 值(即注销后再次登录)

c# - 重定向到 Jquery 中的 Action-Controller MVC 4

c# - 帮助专门从 C# 背景学习 C++ 的指南

c# - WPF - Canvas_MouseLeftButtonDown 事件

c# - 如何制作 Response.Write(...);在我的 Controller 中

asp.net - VS2010错误: Unable to start debugging on the web server

c# - 如何在 C# 中使用 .net webbrowser 控件同时使用不同的帐户登录

c# - 在 ASP.NET MVC 中将敏感数据从一个页面传递到另一个页面的最佳方式是什么?

asp.net - 如何获取中继器内部 "Label"的值?