【问题标题】:asp.net: Update page contents without refresh (Partial Page Update)asp.net:更新页面内容而不刷新(部分页面更新)
【发布时间】:2016-06-10 22:14:26
【问题描述】:

实际上,我正在尝试更新页面而不刷新整个页面,即部分页面更新。网页结构是

<%@ 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);   
}

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

【问题讨论】:

    标签: c# asp.net partial-page-refresh


    【解决方案1】:

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

    更新: 另一种无需用户执行任何操作即可强制刷新 UpdatePanel 的技术是在面板中包含一个计时器,如 here 建议的那样。

    【讨论】:

    • 我试过了,但没有运气:( ..还有其他想法我做错了什么吗?
    • 我也见过类似情况的这种代码,除了添加占位符(不过我猜你也看到了):UpdatePanel.ContentTemplateContainer.Controls.Add(newLabel);跨度>
    • 顺便说一句,如果您不使用 UpdatePanel,它是否适用于完整的回发?
    • 是的,它适用于完整的回传.. 另外,如果我在更新面板中添加一个按钮并且 然后我单击它工作的按钮。但是,如果我调用按钮单击而不单击它,它就不起作用..
    • 如何调用按钮点击而不点击呢?它应该像这样调用 __doPostBack('btnID',")
    猜你喜欢
    • 2020-07-28
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多