获取在渲染到页面后动态更改的asp.net服务器控件ID

时间:2012-12-07 10:26:41

标签: jquery asp.net sharepoint

我在服务器控件上创建了ID为“ ResultOutput ”。这是一个文本框。之后,我将此控件添加到visual webpart。我部署到sharepoint网站。渲染页面后,如果我看到该文本框的ID,则ID已更改为 ct100_m_g_cb6c8826_a6e5_4169_a3ef_4bfc7dfb26c_ct100_ResultOutput 。 要检索服务器控件的id,我们可以在jquery中使用

$('<%= ResultOutput.ClientID %>')

但是在这种情况下,id正在改变,所以jquery无法找到该id。为了找出是否在那个修改过的id实际id中,我使用了$("[id*=ResultOutput]").length,它的值为1.所以最后我们找到了这个元素。现在我想将一些文本分配到该文本框中。我无法找到id为动态变化的解决方案。

如果我给$("[id*=ResultOutput]").id它给我未定义。在jquery中捕获它的方法是什么?我想在文本框控件中放置文本。

2 个答案:

答案 0 :(得分:1)

要获取id必须在jquery中使用attr('id')$("[id*=ResultOutput]").attr('id')为您提供了身份证明。如果要更改该文本框控件中的文本,则必须使用如下所示。

var myboxid = $("[id*=ResultOutput]").attr('id'); $('#'+myboxid).val("yourvalue");

答案 1 :(得分:0)

jQuery工厂方法通常 返回集合/数组。

所以如下所示访问它

  $("[id*=ResultOutput]")[0].id

此外,我不确定您的ID选择器中的 缺少# 符号是什么。请包含并重试。

 $('#<%= ResultOutput.ClientID %>').