簡體   English   中英

GridView在updatepanal內部未刷新

[英]GridView not refreshing inside updatepanal

我有一個GridView,當從dropdown(id = drpClass)中選擇一個值時,它將加載數據。 在此網格視圖中,我有一個編輯和刪除按鈕。 但是,當我單擊刪除按鈕時,該項目已從數據庫中刪除,但網格視圖未刷新。 如果我刷新頁面,GridView將成功加載

ASPX

<asp:UpdatePanel ID="UpdatePanel7" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="drpClass" />
</Triggers>
<ContentTemplate>
<p style="margin: 0 0 5px 0;"><b>Details</b></p>
<asp:GridView ID="GridView1" DataKeyNames="DCU_IdNo" class="table table-striped table-bordered "
ShowFooter="True" EmptyDataText="No Data Found" runat="server" ShowHeaderWhenEmpty="True">
<Columns>
    <asp:TemplateField HeaderText="Sl" HeaderStyle-Width="10px">
        <ItemTemplate>
            <asp:Label ID="lblCode" Text='<%# Container.DisplayIndex+1%>' runat="server"></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Title" HeaderStyle-Width="1500px">
        <ItemTemplate>
            <asp:Label ID="title"
                Text='<%# Eval("DCU_Title")%>' runat="server"></asp:Label>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Attachment">
        <ItemTemplate>
            <%# DataBinder.Eval(Container, "DataItem.DCU_FilePath")%>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Edit" HeaderStyle-Width="1px">
        <ItemTemplate>
            <asp:LinkButton ID="btnEdit" OnClick="btnEdit_Click" runat="server"> 
<span aria-hidden="true" class="glyphicon glyphicon-edit"></span></asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="Delete" HeaderStyle-Width="100px">
        <ItemTemplate>
            <asp:LinkButton ID="btnDelete" OnClick="btnDelete_Click"
                OnClientClick="if (!confirm('Are you sure you want delete?')) return false;"
                runat="server"> <span class="glyphicon
glyphicon-trash"></span></asp:LinkButton>
        </ItemTemplate>
    </asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>

protected void btnDelete_Click(object sender, EventArgs e)
    {
        int rowIndex = ((sender as LinkButton).NamingContainer as GridViewRow).RowIndex;
        int id = Convert.ToInt32(grdUploads.DataKeys[rowIndex].Values[0]);
        SqlDataAdapter sda = new SqlDataAdapter("select DCU_FilePath from OP_DownloadsUploads where DCU_IdNo='" + id + "'", con);
        DataTable datatable = new DataTable();
        sda.Fill(datatable);
        if (datatable.Rows.Count > 0)
        {
            string path = Server.MapPath(datatable.Rows[0][0].ToString());
            FileInfo file = new FileInfo(path);
            if (file.Exists)//check file exsit or not
            {
                file.Delete();
            }
            SqlDataAdapter sda1 = new SqlDataAdapter("delete from OP_DownloadsUploads where DCU_IdNo='" + id + "'", con);
            DataTable datatable1 = new DataTable();
            sda1.Fill(datatable1);
            Response.Write("<script>alert('Deleted Sucessfully')</script>");
            LoadGrid();

        }
    }

所以我的要求是刷新GridView並加載新項目

嘗試清除網格,然后重新加載它,看看是否可行。

您可能要引發源數據的PropertyChanged事件。 否則,GridView無法知道更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM