2016-02-29 38 views
0

我的GridView與ItemTemplate中和EditItemTemplate:它GridView_RowUpdating沒有發射

但是當我點擊「確定」按鈕,沒有任何反應。我試圖在RowUpdating事件上添加跟蹤點並單擊「確定」按鈕,但它甚至沒有觸發。我認爲,這個問題可能與ItemTemplate和EditItemTemplate lbl_first_fl具有相同的「Id」。但之前這工作得很好,唯一改變了 - 我更新了Visual Studio到2015年,並將Windows更改爲8.所以我安裝了VS 2013,但問題仍然存在。有什麼建議麼?或者,也許我該如何處理它使用不同的ID?

aspx頁面:

<asp:GridView ID="GridView5" runat="server" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" Height="430px" OnRowCancelingEdit="GridView5_RowCancelingEdit" OnRowDataBound="GridView5_RowDataBound" OnRowEditing="GridView5_RowEditing" OnRowUpdating="GridView5_RowUpdating" Width="100%" CssClass="gridview" GridLines="none"> 
 
           <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
 

 
           <Columns> 
 

 
    <asp:TemplateField ItemStyle-Width="100"> 
 
<EditItemTemplate> 
 
        <asp:Button ID="btn_Update_fl" runat="server" CommandName="Update" Text="Ок" /> 
 
<asp:Button ID="btn_Cancel_fl" runat="server" CommandName="Cancel" Text="Отмена" /> 
 
</EditItemTemplate> 
 
<ItemTemplate> 
 
<asp:Button ID="btn_Edit_fl" runat="server" CommandName="Edit" Text="✎" Enabled='<%# Flag %>' /> 
 
</ItemTemplate> 
 

 
</asp:TemplateField> 
 

 
<asp:TemplateField HeaderText="08:00 - 17:00" ItemStyle-HorizontalAlign="Center">                           
 
<ItemTemplate> 
 
<asp:Label ID="lbl_first_fl" runat="server" Text='<%# Eval("First") %>' Visible="true"></asp:Label>                             
 
</ItemTemplate> 
 

 
<EditItemTemplate> 
 
<asp:Label ID="lbl_first_fl" runat="server" Text='<%# Eval("First") %>' Visible="false"></asp:Label>   
 
<asp:DropDownList ID="ddl_first_fl" runat="server"> 
 
</asp:DropDownList> 
 
                 
 
</EditItemTemplate> 
 

 
</asp:TemplateField> 
 

 
    <asp:CommandField/> 
 
               
 

 
</Columns> 
 
</asp:GridView>

OnRowUpdating事件:

protected void GridView5_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e) 
    { 


     DropDownList First_fl = GridView5.Rows[e.RowIndex].FindControl("ddl_first_fl") as DropDownList; 



     con = new SqlConnection(cs); 
     con.Open(); 
     //updating the record 
     SqlCommand cmd_fl = new SqlCommand("Update [Duty].[dbo].[Schedule_FirstLine] set First='" + First_fl.Text + "', con); 
     cmd_fl.ExecuteNonQuery(); 

     con.Close(); 

     GridView5.EditIndex = -1; 

     ShowDataFirstLine(); 

    } 

綁定的GridView:

protected void ShowDataFirstLine() 
    { 
     DateTime date = Convert.ToDateTime(Calendar1.VisibleDate.Date.ToString()); 

     var firstDayOfMonth = new DateTime(date.Year, date.Month, 1); 
     var lastDayOfMonth = firstDayOfMonth.AddMonths(1).AddDays(-1); 

     string GridDS_FirstLine = "set dateformat dmy Select DutyDate,WeekDay,First, Second from [Duty].[dbo].[Schedule_FirstLine] WHERE DutyDate >= '" + firstDayOfMonth + "' AND DutyDate <= '" + lastDayOfMonth + "'"; 

     dt_FirstLine = new DataTable(); 
     con_FirstLine = new SqlConnection(cs); 
     con_FirstLine.Open(); 
     adapt_FirstLine = new SqlDataAdapter(GridDS_FirstLine, con_FirstLine); 
     adapt_FirstLine.Fill(dt_FirstLine); 
     if (dt_FirstLine.Rows.Count > 0) 
     { 
      GridView5.DataSource = dt_FirstLine; 
      GridView5.DataBind(); 
     } 

     GridView5.Columns[0].Visible = true; 
    } 
+0

你能不能從發佈的aspx頁面的GridView標籤 – praveen

+0

是的,對不起,沒它 –

+0

確定,在點擊更新按鈕你行應進行更新的權利? – praveen

回答

0

你在這個網格上命名事件?

<asp:GridView ID="TaskGridView" runat="server" 
     AutoGenerateEditButton="True" 
     AllowPaging="true" 
     OnRowEditing="TaskGridView_RowEditing"   
     OnRowCancelingEdit="TaskGridView_RowCancelingEdit" 
     OnRowUpdating="TaskGridView_RowUpdating" 
     OnPageIndexChanging="TaskGridView_PageIndexChanging"> 
     </asp:GridView> 
+0

是的。對不起,我剛剛更新了我的問題,並添加了gridview屬性。 –