内容简介:我正在创建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开发实战
李辉 / 机械工业出版社 / 2018-8-1 / 129
这是一本面向Python程序员的,全面介绍Python Web框架Flask的书。关于本书的详细介绍、相关资源等更多信息可以访问本书的官方主页http://helloflask.com/book了解。 • 国内首本Flask著作,在内容上涵盖完整的Flask Web开发学习路径,在实践上包含完整的Flask Web程序开发流程。同时兼容Python2 .7和Python3.6。 • 内......一起来看看 《Flask Web开发实战》 这本书的介绍吧!