如何在.aspx页面中加载.ascx控件而不用回发或重新加载页面

时间:2011-06-06 17:03:01

标签: javascript asp.net

我有一些运行正常的代码,我想要的是当我创建一个cookie时,我希望加载.ascx控件以在cookie上执行某些功能但我不希望页面回发,怎么能我做到了。

2 个答案:

答案 0 :(得分:3)

您可以使用WebMethod或WebService页面从ascx加载html并将其提供给您的javascript。这是一个教程here

答案 1 :(得分:0)

我发现了一种更简单的方法,即如何在没有回发的情况下加载.ascx控件

只需将.ascx控件放在更新面板中,然后仅使用此..重新加载更新面板。

   function  addCookies(typeShopping,id,name,price) {

       document.cookie = typeShopping + "=" + id + "," + name + "," + price;

       __doPostBack('<%=UpdatePanel2.ClientID %>', 'addTocart');
    }

正如您所看到的,我们可以将参数传递给控件或只写NULL。 我将控件放在更新面板中,就像这样....

    <asp:ScriptManager ID="ScriptManager1" runat="server">

    </asp:ScriptManager> 

    <asp:UpdatePanel ID="UpdatePanel2" runat="server">
               <ContentTemplate>
                   <uc1:Basket ID="Basket1" runat="server"  />  
             </ContentTemplate>
            </asp:UpdatePanel>

这对我来说非常完美,我不知道使用这个概念是否有任何缺点。