c# - asp.net 文本框动态创建与.CssClass 属性

标签 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);

实际上,站点 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/

相关文章:

asp.net - 如何为数据列表控件放置一个div标签

c# - Unity 中的随机生成 (C#)

c# - 如何在 wpf 中使两个段落 block 在同一级别上,在级别上,保持一个 block 左对齐,另一个右对齐?

javascript - jQuery UI 对话框标题区域被拉长

javascript - jquery 输入掩码用 asp.net 覆盖文本框值

javascript更改事件在bootply中工作,而不在本地工作

c# - ASP.NET 在 GridView 中配置更新按钮

c# - Datagrid 行样式绑定(bind)到动态更改的属性

c# - 根据mysql中记录的数字在组中检查单选按钮

asp.net - 无法从后面的代码更改 CssClass