2015-02-24 56 views
0

這是當我搜索一些東西后點擊我的gridview時發生的情況,然後我的下一個命令是從gridview獲取數據到文本框來編輯文件並再次保存,但是select命令不工作,因爲它應該是..因爲gridview正在重新加載,我過濾的文件不見了,它會選擇gridview中的第一行,我該怎麼辦?這裏是我選擇命令的代碼我每次點擊一個按鈕時會如何阻止我的頁面重新加載?

void getValue() 
{ 
    // GridView1.SelectedIndex = isa; 
    //gridview1Connection(); 

    GridViewRow row = GridView1.SelectedRow; 
    T_firstname.Text = (row.FindControl("lbl_Firstname") as Label).Text; 
    T_middlename.Text = (row.FindControl("lbl_Middlename") as Label).Text; 
    T_lastname.Text = (row.FindControl("lbl_Lastname") as Label).Text; 
    T_age.Text = (row.FindControl("lbl_Age") as Label).Text; 
    T_id.Text = (row.FindControl("lbl_ID") as Label).Text; 
    string gender = (row.FindControl("lbl_Sex") as Label).Text; 

    if (gender == "FEMALE") 
    { 
     female_b.Checked = true; 
     male_b.Checked = false; 
    } 
    else 
    { 
     male_b.Checked = true; 
     female_b.Checked = false; 
    } 
} 

我應該使用IsPostBack還是viewstate?我將如何設置它或代碼?

這裏是我的gridview的

<asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#3366CC" 
    BorderStyle="None" BorderWidth="1px" CellPadding="4" AutoGenerateColumns="False" 
    onselectedindexchanged="GridView1_SelectedIndexChanged" Width="581px" 
    onrowcommand="GridView1_RowCommand" 
    onselectedindexchanging="GridView1_SelectedIndexChanging" 
    AutoGenerateSelectButton="True"> 
    <Columns> 
     <%--<asp:TemplateField ShowHeader="False"> 
      <ItemTemplate> 
       <asp:LinkButton ID="Select_button" CommandArgument ='<%# Eval("ID") %>' CommandName="SelectRow" ForeColor="#8C4510" runat="server">Select</asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField>--%> 

     <%-- <asp:CommandField ShowSelectButton="True"></asp:CommandField>--%> 
     <asp:TemplateField HeaderText="Firstname" SortExpression="Firstname"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Firstname") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_Firstname" runat="server" Text='<%# Bind("Firstname") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Middlename" SortExpression="Middlename"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Middlename") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_Middlename" runat="server" Text='<%# Bind("Middlename") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Lastname" SortExpression="Lastname"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Lastname") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_Lastname" runat="server" Text='<%# Bind("Lastname") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Age" SortExpression="Age"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Age") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_Age" runat="server" Text='<%# Bind("Age") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Sex" SortExpression="Sex"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Sex") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_Sex" runat="server" Text='<%# Bind("Sex") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="ID" SortExpression="ID"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox6" runat="server" Text='<%# Bind("ID") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:Label ID="lbl_ID" runat="server" Text='<%# Bind("ID") %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 

    <FooterStyle BackColor="#99CCCC" ForeColor="#003399" /> 
    <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" /> 
    <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" /> 
    <RowStyle BackColor="White" ForeColor="#003399" /> 
    <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" /> 
    <SortedAscendingCellStyle BackColor="#EDF6F6" /> 
    <SortedAscendingHeaderStyle BackColor="#0D4AC4" /> 
    <SortedDescendingCellStyle BackColor="#D6DFDF" /> 
    <SortedDescendingHeaderStyle BackColor="#002876" /> 

</asp:GridView> 
+1

使用ajax來做到這一點! – Zaki 2015-02-24 09:29:25

回答

0

你需要用在AJAX UpdatePanel您就地更新控制代碼。

這應該表示當這些特定控件更新時,您的頁面將不會重新加載。

0

您需要刪除網格命令onselectedindexchanged =「GridView1_SelectedIndexChanged」或onselectedindexchanging =「GridView1_SelectedIndexChanging」之一。

相關問題