C#ASP .Net,触发Gridview内部的按钮控制

时间:2011-06-06 08:46:55

标签: c# asp.net gridview

我对gridview中的按钮有疑问。正如标题所说,我设计了一个内部带有按钮的gridview。每当我触发按钮时,它总是在网格视图到达按钮事件之前绑定它。

说,onLoad页面,我提取数据并将它们绑定到gridview,然后我想进行批量更新,这将由其中的按钮触发。如果我放!IsPostBack,它永远不会触发按钮事件,这意味着它总是必须读取数据再将它们绑定到gridview然后执行按钮事件。

问题,我有大量数据,因此需要花费很多时间进行更新。我想知道是否有任何方法触发按钮事件而无需重新绑定 gridview?是不是因为gridview中的按钮所以有必要再次重新绑定才能读取按钮事件?

任何建议都会非常感激。

3 个答案:

答案 0 :(得分:1)

为什么不使用RowCommand而不是onclick事件? 您可以向按钮添加命令名属性,以了解您需要执行的操作

查看下面的链接,只需用经典按钮替换ButtonField即可。不要忘记分配CommandName

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewcommandeventargs.aspx

答案 1 :(得分:1)

您不应该使用按钮事件,而应使用GridView.RowCommand事件。见here。如果您与Page_Load中的if (!IsPostBack)检查结合使用,它应适用于您的方案。

答案 2 :(得分:1)

您的按钮必须由OnRowCommand事件触发,! IsPostBack不应阻止触发按钮

protected void GridView_RowCommand(object source, GridViewCommandEventArgs e)
{
    if(e.CommandName=="Update")
    {
    // put your update code here
    }
}

您可以使用ajax更新数据源,而无需重新绑定GridView并使用javascript更新您的UI。