2014-12-03 74 views
0

我的GridView与ButtonField字段:OnRowCommand事件有时不发射

<asp:GridView ID="activitygrid" runat="server" CssClass="EU_DataTable" class="ui-body-d" OnRowCommand="activitygrid_RowCommand1" AutoGenerateColumns="False" OnSelectedIndexChanged="activitygrid_SelectedIndexChanged" ShowHeaderWhenEmpty="True" > 


     <asp:ButtonField CommandName="cmdRegister" Text="register now" ControlStyle-CssClass="table-stripe" HeaderText="register" ButtonType="Button" ControlStyle-Height="20px" > 
         <ControlStyle CssClass="table-stripe"></ControlStyle> 
        </asp:ButtonField> 

页面加载代码:

protected void Page_Load(object sender, EventArgs e) 
     {      
       if (!Page.IsPostBack) 
       { 
        BindData(); 
       } 

       else 
       { 

        BindDataSecondTime(); 
       }    
     } 

RowCommand代码:

protected void activitygrid_RowCommand1(object sender, GridViewCommandEventArgs e) 
     { 

      int index = Convert.ToInt32(e.CommandArgument); 


      if (e.CommandName == "cmdRegister") 
      { 
       registerActivities.Add(relActivities[index]); 

       //Update the sum 
       CurrentSum += relActivities[index].ActivityPrice; 
       lblSum.Text = CurrentSum.ToString(); 

       selectedactivitygrid.DataSource = registerActivities; 
       selectedactivitygrid.DataBind(); 

       relActivities.Remove(relActivities[index]); 

       activitygrid.DataSource = relActivities; 
       activitygrid.DataBind(); 
       } 
      } 

问题是,当我在点击按钮有时会触发事件(通常当我点击按钮的中间时),有时不会。

请帮忙。

+0

也显示代码页。特别是page_load和OnRowCommand – Codeek 2014-12-03 11:15:25

+0

您正在测试哪个浏览器?所有浏览器(IE/FF/Chrome)都显示相同的行为吗?虽然很傻,但是如果你暂时删除这种风格并试试看? – 2014-12-03 11:38:46

+0

我在ie和chrome中测试它,行为是一样的,我尝试删除样式,但它没有,但它没有效果。 – natush 2014-12-03 12:13:33

回答

0

我删除ControlStyle-Height="20px"和它的工作。