我在.NET 3.5框架上使用ASP.NET webforms.如何在HTML标记中实现自定义属性,例如:
我想在公共继承的基页上的代码中实现这一点.每次加载页面时,都会根据会话值动态设置属性值.
后期添加:如果可能的话,我希望在没有任何ASP页面更改脚本标记的情况下实现此目的
建议的解决方案:
工作良好.Aleris还有另一种选择,但还没有完全正确.如果将runat ="server"属性添加到HTML标记,它将被解析为服务器端HtmlGenericControl并在Controls集合中可用.此外,如果添加id属性,则后面的代码中将有一个变量来直接访问它,因此:
在codebehind中:
html.Attributes["lang"] = "en";
注意:对于页面中的任何HTML标记都是如此.
编辑:我现在看到Aleris确实做对了 - 他在Controls集合中引用了包含html标签的'文本'(实际上是LiteralControl)(以及doctype和第一个服务器标签之外的任何其他内容).当然,你可以操纵这个文本,而且(正如他所说的那样)是一个黑客攻击 - 但它只会限制代码隐藏的变化.