C# 使用.CssClass属性动态创建asp.net文本框
我有一个场景,我必须根据用户选择动态创建表单。在表单中,有几个文本框应该添加到总文本框的末尾 我区分要在末尾添加的文本框的方法是指定如下内容C# 使用.CssClass属性动态创建asp.net文本框,c#,jquery,asp.net,css,C#,Jquery,Asp.net,Css,我有一个场景,我必须根据用户选择动态创建表单。在表单中,有几个文本框应该添加到总文本框的末尾 我区分要在末尾添加的文本框的方法是指定如下内容 TextBox txt1 = new TextBox(); txt1.ID = "txt1"; txt1.CssClass = "addToTotal"; TextBox txt2 = new TextBox(); txt2.ID = "txt2"; txt2.CssClas
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-*
属性是的一部分,但完全向后兼容