Javascript 如何在没有回发或重新加载页面的情况下在.aspx页面中加载.ascx控件
我有一些运行良好的代码,我想要的是当我创建一个cookie时,我希望加载.ascx控件在cookie上执行一些功能,但我不希望页面发回,我如何才能实现这一点。您可以使用页面WebMethod或WebService从ascx加载html并将其提供给javascript。有一个教程可以帮助您完成此操作。我找到了一种更简单的方法,可以在不回发的情况下加载.ascx控件 只需将.ascx控件放在更新面板中,并仅使用以下命令重新加载更新面板Javascript 如何在没有回发或重新加载页面的情况下在.aspx页面中加载.ascx控件,javascript,asp.net,Javascript,Asp.net,我有一些运行良好的代码,我想要的是当我创建一个cookie时,我希望加载.ascx控件在cookie上执行一些功能,但我不希望页面发回,我如何才能实现这一点。您可以使用页面WebMethod或WebService从ascx加载html并将其提供给javascript。有一个教程可以帮助您完成此操作。我找到了一种更简单的方法,可以在不回发的情况下加载.ascx控件 只需将.ascx控件放在更新面板中,并仅使用以下命令重新加载更新面板 function addCookies(typeShop
function addCookies(typeShopping,id,name,price) {
document.cookie = typeShopping + "=" + id + "," + name + "," + price;
__doPostBack('<%=UpdatePanel2.ClientID %>', 'addTocart');
}
函数addCookies(类型购物、id、名称、价格){
document.cookie=typeShopping+“=”+id+”、“+name+”、“+price;
__doPostBack(“'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>
这对我来说绝对是完美的。我不知道使用这一概念是否有任何缺点。因此,当用户向他的购物车添加内容时,你想更新购物车控件的内容吗?是的,但没有回邮,你是指完全回邮或没有与服务器的任何联系?嗯,我想这样做的时候就是这样将项目添加到购物车我创建了一个cookie,但如果没有回邮,我无法加载.ascx页面。要将cookie添加到购物车,这解决了问题,但当回邮发生时,我会移动到页面顶部,我想,当我在购物车中添加项目后,回邮不会发生,我停留在同一个位置,否则我必须向下滚动每次去添加项目