我的aspx页面中有很多div。如何更新特定div的内容?

时间:2010-05-13 05:30:04

标签: c# asp.net updatepanel load postback

我的aspx页面中有很多div。如何更新特定div的内容?

应该每隔一分钟更新一次.. 没有重新加载整个页面..

1 个答案:

答案 0 :(得分:0)

当然可以像Raj指出的那样做,但要求你发回仅需要的HTML代码。如果你已经在ASPX页面中获得它,它将发送不是你想要的完整HTML。

如果您已经使用MS-AJAX / UpdatePanel完成了它,您可以使用jQuery或JavaScript计时器来触发隐藏按钮,这将导致任何服务器端代码更新。

如果您想要一些例子,请告诉我

编辑 - 新代码示例

这是通过jQuery,在HTML HEAD

<style>
.hidden {visibility: none;}
</style>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
    // this part will tell the MS AJAX framework to call SetupTrigger when the AJAX call back is done
    if (typeof Sys != "undefined") {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(SetupTrigger);
    }
    SetupTrigger()
}
</script> 

然后在您的HTML正文

<script language="javascript">
function SetupTrigger() {
    var refresh = 60 * 1000;
    window.setTimeout(function() {
        TriggerUpdate();
    }, refresh);
}
function TriggerUpdate() {
   //simulates the button click
   $("#<%=btnUpdatePanel.ClientID%>").click();
}
</script>

<asp:UpdatePanel runat="server" ID="upPanel" UpdateMode="Conditional" ChildrenAsTriggers="true">
    <ContentTemplate>
            <asp:Button runat="server" ID="btnUpdatePanel" OnClick="ServerSideFunctionToCall" CssClass="hidden" />
    <!-- content to update -->
    </ContentTemplate>
</asp:UpdatePanel>