2016-09-28 33 views
1

問題很簡單:在ASP.NET GridView中,如果在RowDataBound事件中使用屬性e.Row.Parent.ClientID,則.NET將生成另一個ID GridView的標識符,如果您的頁面中有使用ClientID作爲GridView的javascript,則無法工作。調用e.Row.Parent.ClientID爲其GridView生成另一個ID

複製的問題,你必須創建一個WebForm一個GridView控件,一個客戶端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你不使用電子。 Row.Parent.ClientID屬性,一切都會好起來的,但是如果你爲某種目的使用e.Row.Parent.ClientID,.NET將爲GridView生成另一個ID,並且HTML按鈕將不再起作用。

這是預期的行爲,還是一個錯誤? 有沒有人有這個問題?

感謝

回答

0

這是因爲e.Row.Parent不是GridView(gridViewTest你的情況),GridView的孩子。

前進了一點大步了應該做的伎倆,所以只需添加一個.Parent,你是好去

e.Row.Parent.Parent.ClientID