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

栏目: ASP.NET · 发布时间: 7年前

内容简介:我正在创建HtmlHelper扩展方法.许多内置框架方法都支持像htmlAttributes(类型为object)这样的参数,这些参数会被渲染到结果HTML上.如何提供我自己的方法的重载,这些方法也支持htmlAttributes参数而不重写字符串连接逻辑以将它们作为标记上的属性呈现?翻译自:https://stackoverflow.com/questions/9669293/how-to-support-htmlattributes-parameters-in-htmlhelper-extensions

我正在创建HtmlHelper扩展方法.许多内置框架方法都支持像htmlAttributes(类型为object)这样的参数,这些参数会被渲染到结果HTML上.如何提供我自己的方法的重载,这些方法也支持htmlAttributes参数而不重写字符串连接逻辑以将它们作为标记上的属性呈现?

HtmlHelper对象有一个方法,可以将对象转换为名称/值字典,然后您可以在构建时将其合并到标记中.例如,此代码将生成<

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);

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

(该方法还将属性名称清理为有效的HTML属性等,因此几乎可以在任何对象上使用它.)

翻译自:https://stackoverflow.com/questions/9669293/how-to-support-htmlattributes-parameters-in-htmlhelper-extensions


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learn Python the Hard Way

Learn Python the Hard Way

Zed A. Shaw / Addison-Wesley Professional / 2013-10-11 / USD 39.99

Master Python and become a programmer-even if you never thought you could! This breakthrough book and CD can help practically anyone get started in programming. It's called "The Hard Way," but it's re......一起来看看 《Learn Python the Hard Way》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具