使用.CssClass属性的asp.net文本框动态创建

时间:2011-06-08 03:22:25

标签: c# jquery asp.net css

我有一个场景,我必须根据用户选择动态创建表单。在表单中,几乎没有文本框应该在末尾添加到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也是一个好习惯。使用这种方法有什么缺陷吗?

1 个答案:

答案 0 :(得分:0)

我认为使用不存在作为标记的CSS类的开销很小,所以我不会基于此更改您的实现。如果您关注最佳实践 - 您可以正确地使用它,那么CSS类从未打算像这样使用 - 您可以在输入中添加data-*属性并使用它:

txt2.Attributes["data-addToTotal"] = "true";

...然后用JQuery找到这些元素:

$("input[data-addToTotal='true']")

data-*属性是HTML5的一部分,但完全向后兼容。