2012-02-10 97 views
-1

我有一個下拉列表和一個gridview,這是用於控制將被顯示在GridView的數據之外的鍵「編輯」後保留下拉列表中選擇的值(gridview的外側)。另外,我在我的gridview中「編輯」。在我點擊GridView中的「編輯」後,如何保留下拉列表和gridview數據的價值?要點擊在GridView

<asp:DropDownList ID="ddl" runat="server"> 
     <asp:ListItem>All</asp:ListItem> 
     <asp:ListItem>Yes/asp:ListItem> 
     <asp:ListItem>No</asp:ListItem> 
</asp:DropDownList> 
<asp:Button ID="btn" runat="server" Text="Search" onclick="btnOnClick" /> 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     OnRowEditing="gvUpdateMsg_Rowediting" OnRowUpdating="gvUpdateMsg_Rowupdating" 
     OnRowCancelingEdit="gvUpdateMsg_Cancelingedit"> 
     <Columns> 
      <asp:TemplateField ShowHeader="False"> 
       <EditItemTemplate> 
        <asp:LinkButton ID="btnUpdate" runat="server" CausesValidation="True" CommandName="Update" 
         Text="Confirm"></asp:LinkButton> 
        <asp:LinkButton ID="btnCancel" runat="server" CausesValidation="False" CommandName="Cancel" 
         Text="Cancel"></asp:LinkButton> 
       </EditItemTemplate> 
       <ItemTemplate> 
        <asp:LinkButton ID="btnEdit" runat="server" CausesValidation="False" CommandName="Edit" 
         Text="Reply"></asp:LinkButton> 
       </ItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField> 
       <ItemTemplate> 
        ........ 
       </ItemTemplate> 
      </asp:TemplateField> 

      ....... 


    </Columns> 
    </asp:GridView> 

回答

0

添加 「點擊」 事件到你的btnEdit按鈕,如下所示:

<asp:LinkButton ID="btnEdit" runat="server" CausesValidation="False" 
CommandName="Edit" Text="Reply" OnClick="btnEdit_Click"></asp:LinkButton> 

在後面的代碼:

protected void btnEdit_Click(object sender, EventArgs e) 
{ 
    GridViewRow clickedRow = ((LinkButton)sender).NamingContainer as GridViewRow; 
    LinkButton btnEdit = (LinkButton)clickedRow.FindControl("btnEdit"); 
    string any_data_for_gridview = clickedRow.Cells[1].Text; //change number 1 
    string any_data_for_ddl = ddl.SelectedValue.ToString(); 
}