为了使用
txtbox = document.getElementById()
在外部 javascript 文件内的函数中,我将每个控件的 clientID 分配给我使用的变量。
例如,我说:
var lbCancelID = '<%= lbCancel.ClientId %>';
然后,当我调用使用 document.getElementById() 的外部 javascript 文件内的函数时,它可以对返回元素 (txtbox) 执行任何操作。
这工作得很好,直到我到达需要在 gridviews 编辑模板中获取控件的区域。然后,它告诉我该元素不存在。
所以我尝试了这个:
var txtStartDateID = '<%#((GridViewRow)Container).FindControl("txtStartDate").ClientID %>'
但出现错误 'GridViewRow' is a type and cannot be used as an expression.
我能做什么呢?
谢谢!
最佳答案
我认为您在标记中使用的方法不起作用。 在后面的代码中,您可以获得文本框的客户端 ID,如下所示
TextBox t = (TextBox) gridView.Rows[0].FindControl("TextBoxID"); // Give the index of the row. and gridview in your gridview ID
您可以从选定的索引事件中获取索引。如果您在 rowdatabound 事件中使用上面的代码,那么您可以通过 e.Row 等获取行索引
关于javascript - 在Gridview中获取文本框的客户端ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11660288/