【问题标题】:Shopping cart Asp.net购物车 Asp.net
【发布时间】:2011-06-06 13:54:52
【问题描述】:

我有一个 aspx 页面,在里面我调用了一个 .ascx 页面,它是购物车,在 ascx 页面上我有很多指向书籍的链接,我们可以将书籍添加到购物车中。单击添加按钮后,我将 bookid、name、price 存储在 cookie 中,在 ascx 页面上,我使用会话变量将值复制并粘贴到购物车中,一切正常..代码是这样的..点击添加 btn 我调用这个 javascript 函数

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

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

但在此之后,我必须回帖,以便加载 ascx 页面并将此信息添加到购物车中。所以调用这个函数的btn是这样的..

      <a onclick="addCookies('ShoppingCart',1, 'A summary of the Creed....' ,25);"href=".../ShowBooks.aspx?CategoryName=Qur'an&Mushaf&CatID=1" </a>

但是正如您所见,这会导致页面回发,尽管该商品已添加到购物车中,但我会移至顶部,但我该怎么做?我一直在看同一本书。

【问题讨论】:

    标签: javascript asp.net


    【解决方案1】:

    您需要从onclick 处理程序中return false; 以防止浏览器遵循默认操作。

    【讨论】:

    • 对不起,我不擅长 java 脚本,我应该只做这个函数 addCookies(typeShopping,id,name,price) { document.cookie = typeShopping + "=" + id + ", " + 名称 + "," + 价格; // aspnetForm.reset(); alert("现在检查");返回假; } 因为它不工作页面仍然回发
    • 没有。 onclick=""中需要return,并且需要学习Javascript。
    • 是的,它工作得很好,但现在 ascx 页面没有加载:(任何建议,有没有什么方法可以在这个函数执行后调用 ascx 页面来加载,这将解决所有问题
    • 您只是要求它不加载。你得到了你想要的。您还需要了解 AJAX。
    • 不不,我希望它加载但没有回发任何方式来做到这一点
    【解决方案2】:

    在执行必要的操作后,您需要将 addCookies 方法告诉return false;。这将使链接停止运行。

    function addCookies(typeShopping,id,name,price) {
           document.cookie = typeShopping + "=" + id + "," + name + "," + price;
           return false;
           }
    

    【讨论】:

    • 我这样做了,但在它回发和页面刷新之后,我又回到了顶部
    • 正如@SLaks 在他的回答中指出的那样,您需要将 retun false 放在 onclick 属性值中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-15
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多