如何将JavaScript代码附加到asp.net中的动态控件文本框中

时间:2012-07-09 15:21:26

标签: javascript jquery asp.net

我正在从后面的代码创建动态文本框控件...我的问题是。如何将javascript代码附加到动态创建的文本框?

这是创建动态文本框的代码。

TextBox t = new TextBox();
t.ID = "txtDynamic";
t.TextMode = TextBoxMode.MultiLine;
t.Rows = 7;

下面是Javascript ....想要添加到上面创建的控件。

$('txtDynamic').limit('140','#charsLeft');

2 个答案:

答案 0 :(得分:1)

使用ASP.NET WebForms时,我总是尽量避免在我的javascript中引用ID,因为呈现的ID可能并不总是与服务器端ID相同。

使用CssClass确保一致性,并在jquery选择器中使用.前缀而不是#前缀。

TextBox t = new TextBox();
t.ID = "txtDynamic";
t.TextMode = TextBoxMode.MultiLine;
t.Rows = 7;
t.CssClass = "limit140";

$('.limit140').limit('140','#charsLeft');

答案 1 :(得分:1)

服务器端代码更改了ID,因此您需要使用clientid。同样在您的示例中,您缺少jQuery选择器的#

$('#<%=txtDynamic.ClientID%>').limit('140','#charsLeft');

这仅在代码是内联JavaScript时才有效,在外部文件中不起作用。

如果不是,最好设置一个CSSClass并在选择器中引用它。