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


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

查看所有标签

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

Flask Web开发实战

Flask Web开发实战

李辉 / 机械工业出版社 / 2018-8-1 / 129

这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。 • 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2 .7和Python3.6。 • 内......一起来看看 《Flask Web开发实战》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具