使用 .CssClass 属性动态创建 asp.net 文本框
Posted
技术标签:
【中文标题】使用 .CssClass 属性动态创建 asp.net 文本框【英文标题】:asp.net textbox dynamic creation with .CssClass attribute 【发布时间】:2011-09-10 13:25:30 【问题描述】:我有一个场景,我必须根据用户选择动态创建表单。在表单中,有几个文本框应该添加到 Total Textbox 的末尾。
我区分最后添加的文本框的方式是通过如下指定..
TextBox txt1 = new TextBox();
txt1.ID = "txt1";
txt1.CssClass = "addToTotal";
TextBox txt2 = new TextBox();
txt2.ID = "txt2";
txt2.CssClass = "addToTotal";
TextBox txt3 = new TextBox();
txt3.ID = "txt3";
txt3.CssClass = "txtTotalPoints";
PlaceHolder1.Controls.Add(txt1);
PlaceHolder1.Controls.Add(txt2);
PlaceHolder1.Controls.Add(txt3);
实际上,site css file
中没有名为 'addToTotal'
的 css 类。它只是用作一个标志来通知我在最后添加。
即使实际的类不存在,添加 .CssClass 是否也是一种好习惯。使用这种方法有什么陷阱吗?
【问题讨论】:
【参考方案1】:我会假设使用不存在作为标记的 CSS 类的开销是最小的,所以我不会基于此更改您的实现。如果您担心最佳实践 - 您可能会这样做,CSS 类从未打算像这样使用 - 您可以在输入中添加 data-*
属性并改用它:
txt2.Attributes["data-addToTotal"] = "true";
...然后使用 JQuery 查找这些元素:
$("input[data-addToTotal='true']")
data-*
属性是html5 的一部分,但完全向后兼容。
【讨论】:
以上是关于使用 .CssClass 属性动态创建 asp.net 文本框的主要内容,如果未能解决你的问题,请参考以下文章
使用 Adobe Illustrator 设置 CSS 类属性 [关闭]
如何使用 Swashbuckle 的 SwaggerUI 显示静态 swagger.json 文件而不是 SwaggerGen 的动态创建的定义?