2011-01-12 54 views
4

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

编辑:

好吧,我跟着那个_doPostBack规则,整个页面公布。

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

此致的Pawel

回答

7

从JavaScript刷新更新面板:

__doPostBack(updatePanelUniqueID,'');

第一个参数是所述UpdatePanel.The第二参数的UniqueID(未CientID)是任选的您可以传递的参数将可用于您的服务器代码。两者都存储在由ASP.NET的隐藏表单域,您可以在代码隐藏访问它们:

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

但如果你只是想刷新面板,并不需要通过从客户端的任何其他信息,您可以忽略第二个参数。

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

+0

你可以显示如何调用JavaScript,例如从文本输入TextChanged事件? – DOK 2011-01-12 14:00:40