<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" ClientIDMode="AutoID" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="server">
<%
foreach (var item in AllSales)
{
//Here i have just set a breakpoint to see if it loops the AllSales list when I press the update button
}
%>
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<p>Update Panel: DateTime.Now: <%= DateTime.Now.ToString() %></p>
<asp:Button runat="server" ID="Submit" Text="Update" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
脚本管理器代码在母版页中:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
这里的问题是,每次我单击“更新”按钮时,它都会再次加载页面并循环“AllSales”列表,我只想更新一个部分而不必进行不必要的循环。
这是有趣的部分:如果我删除母版页,它会起作用!但是对于母版页,它不会,为什么?!
最佳答案
您需要使用服务器控件来启动更新,而不是使用普通的 html 输入按钮。尝试使用:
<asp:Button ID="ActivitySubmit" Text="Submit" runat="server" />
关于c# - updatepanel 更新整个页面而不仅仅是内容模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14871529/