更新面板不能正常工作

本文关键字:工作 常工作 不能 更新 | 更新日期: 2023-09-27 18:01:22

我在更新面板中包装了我的Gridview,并设置了触发搜索按钮,但它不能正常工作,当我将文本放入文本框并单击搜索然后gridview显示相关结果时,这是可以的,但它应该在单击gridview的SELECT按钮后加载列的文本到文本框中,该按钮在放置更新面板之前工作,但现在不是。它既不将文本加载到文本框中,也不会在单击搜索按钮后再次加载。

代码:

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="btnSearch" EventName="Click" />
                </Triggers>
                <ContentTemplate>
                    <asp:GridView ID="gridViewComplaints" AutoGenerateSelectButton="true" runat="server" CssClass="mGrid" OnSelectedIndexChanged="gridViewComplaints_SelectedIndexChanged">
              <EmptyDataRowStyle BorderStyle="None" ForeColor="Red" BorderWidth="0px" />
               <EmptyDataTemplate>
                  No Data Found for this Input. Try Again.
               </EmptyDataTemplate> 
             <SelectedRowStyle CssClass="selected-row" BackColor="YellowGreen" ForeColor="white" />
             </asp:GridView>
                </ContentTemplate>
            </asp:UpdatePanel>
 protected void gridViewComplaints_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = gridViewComplaints.SelectedRow;
        txtComplaintSubject.Text = row.Cells[2].Text;
        HiddenFieldComplaintID.Value = row.Cells[1].Text;
        int cid = Convert.ToInt32(HiddenFieldComplaintID.Value);
        Response.Write(cid.ToString());
        gridViewComplaints.Visible = false;
    }

更新面板不能正常工作

这就是我的工作方式。如果你可以试试下面的代码:

<asp:UpdatePanel ID="UpdatePanel2" runat="server">
    <ContentTemplate>
        <asp:GridView ID="GridView1" class="gridview" OnRowCommand="EditGridData" runat="server"
            AutoGenerateColumns="False" CellPadding="4" GridLines="None" AllowPaging="True"
            OnPageIndexChanging="GrdState_PageIndexChanging" PageSize="20" EmptyDataText="Record is Not Available"
            Width="93%">
            <Columns>
                <asp:TemplateField HeaderText="Edit">
                    <ItemTemplate>
                        <asp:LinkButton ID="BtnEdit" runat="server" CausesValidation="false" class="black skin_colour round_all"
                            CommandArgument='<%# Eval("Country_ID")%>' CommandName="Edit1" ForeColor="#6699FF"
                            Font-Underline="True"> <span>Edit</span></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Delete">
                    <ItemTemplate>
                        <asp:LinkButton ID="BtnDelete" OnClientClick="return confirm('Are you sure want to delete?');"
                            CausesValidation="false" class="black skin_colour round_all " CommandArgument='<%# Eval("Country_ID")%>'
                            CommandName="Delete1" runat="server" ForeColor="#6699FF" Font-Underline="True"><span>Delete</span></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="View">
                    <ItemTemplate>
                        <asp:LinkButton ID="LBtnView" CausesValidation="false" class="black skin_colour round_all "
                            CommandArgument='<%# Eval("Country_ID")%>' CommandName="View1" runat="server"
                            ForeColor="#6699FF" Font-Underline="True"><span>View</span></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Country_Name" HeaderText="Country" />
                <asp:BoundField DataField="Description" Visible="false" HeaderText="Description" />
                <asp:TemplateField HeaderText="Description">
                    <ItemTemplate>
                        <div class="DisplayDiv">
                            <asp:Label ID="Label1" runat="server" CssClass="DisplayDesc" Text='<%# Eval("Description") %>'></asp:Label>
                        </div>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="CreationDate" HeaderText="Creation Date" DataFormatString="{0:dd/MM/yy}" />
            </Columns>
        </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

背后的代码(如果你能看到我使用命令名称的链接按钮在网格视图):

public void EditGridData(object sender, GridViewCommandEventArgs e)
    {
        int i = Convert.ToInt32(e.CommandArgument);
        Session["Country_ID"] = i;
        if (e.CommandName == "Edit1")
        {
            SortedList sl = new SortedList();
            sl.Add("@mode", "GetRows1");
            sl.Add("@Country_ID", i);
            SqlDataReader dr = emp.GetDataReaderSP("CountryMaster1", sl);
            while (dr.Read())
            {
                txtCountry.Text = dr["Country_Name"].ToString();
                txtDesc.Text = dr["Description"].ToString();
                ViewState["Country_Name"] = dr["Country_Name"].ToString();
                BtnSubmit.Visible = true;
                BtnSubmit.Text = "Update";
            }
        }
        if (e.CommandName == "View1")
        {
            SortedList sl = new SortedList();
            sl.Add("@mode", "GetRows1");
            sl.Add("@Country_ID", i);
            SqlDataReader dr = emp.GetDataReaderSP("CountryMaster1", sl);
            while (dr.Read())
            {
                txtCountry.Text = dr["Country_Name"].ToString();
                txtDesc.Text = dr["Description"].ToString();
                ViewState["Country_Name"] = dr["Country_Name"].ToString();
                BtnReset.Visible = true;
                BtnSubmit.Visible = false;
            }
        }

        if (e.CommandName == "Delete1")
        {
            SortedList sl = new SortedList();
            sl.Add("@mode", "DeleteData");
            sl.Add("@Country_ID", i);
            emp.ExecuteNonQuerySP("CountryMaster1", sl);
            Label1.Visible = true;
            Label1.Text = "Record Deleted Successfully…";
            BindGrid();
        }
    }