asp.net:在不刷新的情况下更新页面内容(部分页面更新)

本文关键字:更新 分页 net 刷新 asp 情况下 | 更新日期: 2023-09-27 18:36:27

实际上我正在尝试在不刷新整个页面的情况下更新页面,即部分页面更新。网页结构为

<%@ Page Title="Test Page" Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="WebApp.Test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:ScriptManager runat="server"></asp:ScriptManager>
            <asp:DropDownList AutoPostBack="true" ID="dropDownName" runat="server"></asp:DropDownList>                
            <asp:UpdatePanel ID="UpdatePanel" runat="server">
                <ContentTemplate>
                     Last update:  <%=DateTime.Now.ToString() %>
                    <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>
    </form>
</body>
</html>

现在我可以看到,当我的事件触发时,它会做每件事,例如读取内容,使用正确的更新信息更新页面上的控件以及将内容 webControls 添加到占位符,如下所示

void Contnt_Update(object sender)
{
 PlaceHolder1.Controls.Add(newLabel);   
}

但它只是简单地不更新"视图"(意味着我没有在网页上看到更新的信息),也没有更新"上次更新"的时间。知道我做错了什么吗?任何帮助将不胜感激,因为我花了很多时间在上面,却没有得到任何地方......

asp.net:在不刷新的情况下更新页面内容(部分页面更新)

您可以尝试使用以下方法强制更新: UpdatePanel.Update(); ,并遵循此处给出的其他建议: ASP.NET 刷新更新面板

更新:强制刷新 UpdatePanel 而不执行用户任何操作的另一种技术是在面板中包含一个计时器,如此处所建议的那样。