gpt4 book ai didi

asp.net-mvc - 如何在 HtmlHelper 扩展中支持 htmlAttributes 参数?

转载 作者:行者123 更新时间:2023-12-04 10:01:28 24 4
gpt4 key购买 nike

我正在创建 HtmlHelper 扩展方法。许多内置框架方法都支持像 htmlAttributes(对象类型)这样的参数,这些参数会渲染到生成的 HTML 上。如何在不重写字符串连接逻辑以将它们呈现为标签上的属性的情况下提供我自己的方法的重载,这些方法也支持 htmlAttributes 参数?

最佳答案

HtmlHelper object 有一个方法可以将对象转换为名称/值字典,然后您可以在构建时将其合并到您的标签中。例如,此代码将生成 <script>带有任何额外属性的标签:

var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes) as IDictionary<string, object>;

TagBuilder tag = new TagBuilder("script");
tag.MergeAttributes(attributes);
tag.MergeAttribute("type", "text/javascript");
tag.MergeAttribute("src", scriptPath);

您可以提供重载或使用默认值来提供 null htmlAttributes 的值,这将产生一个空 Dictionary .

(该方法还将属性名称清理为有效的 HTML 属性等,因此几乎可以安全地用于任何对象。)

关于asp.net-mvc - 如何在 HtmlHelper 扩展中支持 htmlAttributes 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669293/

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