如何在不回发或重新加载页面的情况下在.aspx页面中加载.ascx控件

How to load .ascx control in .aspx page with out postback or reloading the page

本文关键字:加载 aspx 控件 ascx 情况下 新加载      更新时间:2023-09-26

我有一些运行良好的代码,我想要的是当我创建cookie时,我希望加载.ascx控件来对cookie执行一些功能,但我不希望页面返回,我该如何实现这一点。

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

我找到了一种更简单的方法,可以在不回发的情况下加载.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>

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