【发布时间】:2016-09-28 19:41:13
【问题描述】:
问题很简单:在 ASP.NET GridView 中,如果在 RowDataBound 事件中使用属性 e.Row.Parent.ClientID,.NET 会为 GridView 生成另一个标识符,并且如果您的页面中有 javascripts为 GridView 使用 ClientID,它们将无法工作。
要重现该问题,您必须使用一个 GridView 创建一个 WebForm,一个客户端 HTML 按钮必须像这样访问 GridView 标识符:
<input id="Button1" type="button" value="Test" onclick="alert('The next message does not have to be null: ' + document.getElementById('<%=gridViewTest.ClientID %>'))" />
如果在 gridViewTest_RowDataBound 中你不使用 e.Row.Parent.ClientID 属性,一切都会好起来的,但如果你出于某种目的使用 e.Row.Parent.ClientID,.NET 将为 GridView 生成另一个 ID并且 HTML 按钮将不再起作用。
这是预期的行为,还是错误? 有人遇到过这个问题吗?
谢谢
【问题讨论】:
标签: asp.net gridview rowdatabound