UpdatePanel更新没有触发按钮

时间:2011-01-12 13:52:13

标签: asp.net ajax updatepanel scriptmanager

我有一个指定了ContentTemplate的UpdatePanel。页面加载时,用户可以在页面的其他部分进行一些AJAX工作。然后,在完成该工作之后,我想仅更新UpdatePanel内的内容,但不按任何按钮等。我应该在以前启动AJAX工作完成时使用JavaScript自动完成。如何在不手动点击触发按钮的情况下进行操作?

编辑:

好的,我已经遵循了_doPostBack规则,并且发布了整个页面。

    <asp:UpdatePanel ID="panelAttachments" runat="server">
        <ContentTemplate>
    ........
        </ContentTemplate>
    </asp:UpdatePanel>
    <input type="text" name="test" onchange="__doPostBack('<%=panelAttachments.UniqueID %>',''); return false;" />
</td>

谢谢,Pawel

1 个答案:

答案 0 :(得分:7)

从javascript刷新更新面板:

__doPostBack(updatePanelUniqueID,'');

第一个参数是UpdatePanel的UniqueID(不是CientID)。第二个参数是您可以传递的可选参数,可供您的服务器代码使用。它们都存储在ASP.NET的隐藏表单字段中,您可以在代码隐藏中访问它们:

Request.Form["__EVENTTARGET"];
Request.Form["__EVENTARGUMENT"];

但是如果你只想刷新面板而不需要从客户端传递任何其他信息,那么你可以忽略第二个参数。

如果你查看ASP.NET为异步回发控件生成的HTML,你会看到它就是这样。