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


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

查看所有标签

猜你喜欢:

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

CSS实战手册(第2版)

CSS实战手册(第2版)

[美] David Sawyer McFarland / 俞黎敏 / 电子工业出版社 / 2010-6 / 69.80元

本书从介绍最基本的CSS知识开始,到建立用于打印网页的CSS和改进你的CSS习惯的最佳实践。将关于CSS的选择器、继承、层叠、格式化、边距、填充、边框、图片、网站导航、表格、表单、浮动布局、定位网页上的元素,以及用于打印网页的CSS等技术通过逐步地讲解与教程串联了起来。每章内容从简单到复杂,一步一步地建立起一个完整的教程示例,并在每章都会详细讨论一些技巧、最佳实践和各浏览器之间一致性的兼容问题及如......一起来看看 《CSS实战手册(第2版)》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具