我有一个场景,我必须根据用户的选择动态创建表单。在表单中,有几个文本框应该添加到 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);
实际上,站点 css 文件
中没有名为 'addToTotal'
的 css 类。它只是用作标志,通知我在最后添加。
即使实际类不存在,添加 .CssClass 是否是一种好的做法。使用这种方法有什么陷阱吗?
最佳答案
我假设使用不存在的 CSS 类作为标记的开销是最小的,因此我不会基于此更改您的实现。如果您关心最佳实践——您可能确实如此,CSS 类从来没有打算像这样使用——您可以向输入添加一个 data-*
属性并改为使用它:
txt2.Attributes["data-addToTotal"] = "true";
...然后使用 JQuery 查找这些元素:
$("input[data-addToTotal='true']")
data-*
属性是 HTML5 的一部分,但完全向后兼容。
关于c# - asp.net 文本框动态创建与.CssClass 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6273867/