我有一个场景,我必须根据用户选择动态创建表单。在表单中,几乎没有文本框应该在末尾添加到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);
实际上,'addToTotal'
中没有名为site css file
的css类。它只是用作标志来通知我最后添加。
即使实际的类不存在,添加.CssClass也是一个好习惯。使用这种方法有什么缺陷吗?
答案 0 :(得分:0)
我认为使用不存在作为标记的CSS类的开销很小,所以我不会基于此更改您的实现。如果您关注最佳实践 - 您可以正确地使用它,那么CSS类从未打算像这样使用 - 您可以在输入中添加data-*
属性并使用它:
txt2.Attributes["data-addToTotal"] = "true";
...然后用JQuery找到这些元素:
$("input[data-addToTotal='true']")
data-*
属性是HTML5的一部分,但完全向后兼容。