2012-05-22 30 views
0

我已經在UpdatePanel中實現了一個GridView,它的觸發器是GridViews SelectedIndexChanged事件。正如預期的那樣,它的工作非常緩慢相反,我想在客戶端處理此問題,但無法找到關於GridView支持哪些客戶端事件的足夠信息。任何人都可以指出哪些信息可能可用?標準ASP.NET GridView具有哪些客戶端事件?

編輯:即使有人知道任何客戶端事件的頭頂,我會感興趣。

回答

3

標準ASP.NET GridView具有哪些客戶端事件?

我很樂意被另一個回覆證明是錯誤的,但是......沒有?這是一個沒有客戶端JavaScript對象表示的服務器端對象。這是大多數標準ASP.NET WebForms控件的典型特徵。

刪除一個GridView上一個WebForm,並添加一列<asp:CommandField ShowSelectButton="true" />客戶端,這看起來像:<td><a href="javascript:__doPostBack(&#39;GridView1&#39;,&#39;Select$0&#39;)">Select</a></td>

有,你可以處理任何物體上沒有客戶端的情況下,它只是一個JavaScript代碼段錨呼叫回傳。如果你想要更多的東西花哨,你將不得不自己烤的東西,像 - http://weblogs.asp.net/andrewrea/archive/2008/08/04/gridview-row-click-selection-via-clientside-code.aspx

替代,是移動到另一個ASP.NET WebForms的「網格」的控制。我知道DevExpress網格例如具有豐富的客戶端對象模型。我幾乎可以肯定Telerik有相似之處,並且可能還有其他一些其他的。

+0

這就是我想的,謝謝!我試圖用DevExpress Grid來做到這一點,它確實有相當多的客戶端支持,使我的應用程序更快。 – neuDev33

+1

是的,我自己使用了DevExpress Grid,它非常強大。請記住,當你想要用它做客戶端操作時,請注意它的JS對象表示 - 「ASPxClientGridView」 - http://documentation.devexpress.com/#AspNet/clsDevExpressWebASPxGridViewScriptsASPxClientGridViewtopic特別感興趣的是它的' PerformCallback'方法以及ASPxGridView對象上的服務器端處理程序 - CustomCallback和CustomDataCallback。 – Snixtor

0

下面是一些代碼,我使用它來爲GridView中的內置按鈕創建客戶端事件。

protected void Page_LoadComplete(object sender, EventArgs e) 
{ 
     MyCommon.GridButtonClientClick(gvLookup, "gclick()"); 
} 

public static void GridButtonClientClick(GridView g, String function) 
{ 
    foreach (GridViewRow gvr in g.Rows) 
    { 
     Control x = gvr.Cells[0].Controls[0]; 
     LinkButton y = (LinkButton)x; 
     y.OnClientClick = function; 
    } 
}