UpdatePanel更新没有触发按钮

dra*_*fly 4 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>
Run Code Online (Sandbox Code Playgroud)

谢谢,Pawel

Jam*_*rgy 7

要从javascript刷新更新面板:

__doPostBack(updatePanelUniqueID,'');

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

Request.Form["__EVENTTARGET"];
Request.Form["__EVENTARGUMENT"];
Run Code Online (Sandbox Code Playgroud)

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

如果您查看ASP.NET为异步回发控件生成的HTML,您会看到它正是如此.