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