在asp.net控件id中嵌入javascript变量

时间:2009-11-05 20:38:03

标签: asp.net javascript

我正在使用客户端的asp.net控件表。在服务器端创建它们时,它们都以下列方式命名:“txt_name_”+ rowNum。我知道我可以通过使用“<%= Control.ClientID%>”来访问它们。在客户端,我可以通过javascript变量访问当前行号。我想知道如何通过使用类似下面的东西(似乎不起作用)来访问客户端上的一个控件:“<%= txt_name_”+ jsRowNumVar +“。ClientID%>”。所以我基本上试图将一个javascript变量替换为asp.net控件名称的一部分,它似乎不起作用。关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:1)

它不像这样工作<%...%> stuff在服务器上进行评估,并以html的形式提供给客户端。放置javascript变量的名称对你没有好处

答案 1 :(得分:0)

作为替代方案,您可以使用javascript数组呈现行的客户端ID,并且可以将其与行索引一起使用。

string jsToRender = "<script>var myCtrlIds = new Array('" + 
         text0.ClientId + "', '" + 
         text1.ClientId + "', '" + 
         text2.ClientId + "');</script>";
Page.ClientScript.RegisterStartupScript(typeof(MyPage), "jsKey", jsToRender);

然后在客户端脚本中使用control id数组:

<script>
      var text0Value = document.getElementById(myCtrlIds[0]).value;
</script>