实际上我正在尝试更新页面而不刷新整页,即部分页面更新。网页结构是
<%@ 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);
}
但它只是没有更新“观看次数”&#39; (意思是我没有在网页上看到更新的信息),也没有更新“最后更新时间”的时间。 知道我做错了什么吗?任何帮助将非常感激,因为我花了相当多的时间在它上面而没有得到任何地方..
答案 0 :(得分:1)
您可以尝试使用UpdatePanel.Update();
强制进行更新,并按照此处提供的其他建议进行操作:ASP.NET refresh Update Panel
<强>更新强>: 强制刷新UpdatePanel的另一种方法是在面板中包含一个Timer,而不需要用户的任何操作,如建议here。