gpt4 book ai didi

asp.net - ASP.NET 5 和 Razor 4 中 @helper 指令的正确替代方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:48:59 24 4
gpt4 key购买 nike

@helper指令和 App_Code文件夹在 ASP.NET 5 中被删除。

它主要用于抽象带有少量参数的 Razor 代码。
例如:

@helper Row(string label, object value, string format = "{0}")
{
var text = string.Format(format, value);
<tr>
<td><p>@label</p></td>
<td><p>@text</p></td>
</tr>
}

并且(在我的例子中)大约有 10 页(报告),其中有大约 50 个助手作为小的漂亮的构建块(如上例所示,尽管它们可能更大一些)。而且它们真的很容易编写和使用以及更改参数等。

(此外,每个 View 都有自己的助手,所以我并不真正关心 App_Code 文件夹,也不知道删除 @helper 指令的原因)

所以我真的很感兴趣现在使用什么来替代 @helper随着 ASP.NET 5 和 Razor 4 的到来......

我看到了两个建议:
  • 标签助手
  • 查看组件

  • 好吧,创建大约 500 个小类和相应的模板并通过属性传递参数听起来根本不对。同样使用没有模板的标签助手需要手动将字符串粘在一起。

    有什么建议?

    最佳答案

    ASP.NET 5 尚未添加对 Web 窗体的支持。由于@helper 标记通常用于 ASP.NET 4 Web 窗体项目中,因此将来仍可以添加它。

    选项:

  • 创建传统的自定义 HTML MVC Helpers(注意返回类型在 ASP.NET 5 中有 changed)
  • 创建自定义标签助手
  • 将部分页面和 Razor 与上述代码 html 片段一起使用,并在对象中传递参数
    例如
    @Html.RenderPartial("_Row", DataParameters)
  • 或者,如果您只是调用传递一些参数并输出输出的方法,您可以使用静态方法创建自己的帮助程序类,但您必须连接输出字符串,而不是使用 Razor 将 html 与代码混合。
  • 关于asp.net - ASP.NET 5 和 Razor 4 中 @helper 指令的正确替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33379537/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com