2012-05-22 31 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; 
    } 
}