2012-10-08 46 views
1

我正在爲ASP.NET GridView中的每一行註冊一個回發事件。在GridView行上註冊SelectedIndexChanged事件

protected void gvLRR_RowDataBound(object sender, GridViewRowEventArgs e) { 
    if (e.Row.RowType == DataControlRowType.DataRow) { 

    if (cs == null) 
     cs = Page.ClientScript; 

    e.Row.Attributes.Add("onclick", 
     cs.GetPostBackEventReference((GridView)sender, "Select$" + e.Row.RowIndex.ToString())); 
    } 
} 

用戶單擊行時調用的事件是GridView gvLRR的SelectedIndexChanged。

問題: 所有這一切都工作得很好,只要我設置頁面指令EnableEventValidation假,但如果我不將它設置爲false,那麼頁面炸燬當用戶點擊上的一排網格視圖。不過,我認爲這有點破解,因爲我不應該禁用事件驗證,只是爲了在點擊GridView行時使回發事件工作。那麼有沒有更好的方式去做這件事?我能以某種方式爲行點擊註冊回發事件,並以某種方式管理啓用事件驗證功能嗎?

非常感謝您的幫助。

+0

您發佈的代碼是OnRowDatabound。你不需要一個SelectedIndexChanged事件嗎? – Thousand

+0

他使用OnRowDatabound事件動態分配對GridView事件SelectedIndexChanged的調用。他本可以說明這個理由。 –

回答

相關問題