在Gridview中获取文本框的客户端ID

时间:2012-07-25 23:38:11

标签: javascript asp.net gridview

为了使用 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.我该怎么办?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您在标记中使用的方法不起作用。 在您的代码中,您可以将文本框的客户端ID作为

TextBox t = (TextBox) gridView.Rows[0].FindControl("TextBoxID"); // Give the index of the row. and gridview in your gridview ID

您可以从所选索引事件中获取索引。如果你在rowdatabound事件中使用上面的代码,那么你可以通过e.Row等获得行索引。