与onClick事件的Javascript链接

时间:2011-12-10 11:51:20

标签: c# javascript asp.net

我正在使用http://simplecartjs.com/的第三方购物车。 对于正常结账,我可以使用:

<a href="javascript:;" class="simpleCart_checkout" >Checkout</a>

它有效。但我需要添加一些服务器端功能,不知道如何解决这个问题。存储simpleCart_Checkout类的javascript文件中的代码如下:

me.addEventToArray( getElementsByClassName('simpleCart_checkout') , simpleCart.checkout , "click");

编辑:而且:

me.checkout = function() {
        if( me.quantity === 0 ){
            error("Cart is empty");
            return;
        }
        switch( me.checkoutTo ){
            case PayPal:
                me.paypalCheckout();
                break;
            case GoogleCheckout:
                me.googleCheckout();
                break;
            case Email:
                me.emailCheckout();
                break;
            default:
                me.customCheckout();
                break;
        }
    };

所以我尝试使用直接调用方法的按钮来执行此操作:

<asp:Button ID="CheckoutButton" runat="server" Text="Checkout" 
            onclick="CheckoutButton_Click" OnClientClick="Checkout()" />

            <script type="text/javascript">
                function Checkout() {

                    javascript: simpleCart.checkout;
                }    
                </script>

哪个调用服务器端但不调用javascript链接。我是asp.net和javascript的新手,所以我真的不知道如何做到这一点,请帮忙。

3 个答案:

答案 0 :(得分:1)

试试这个:

<asp:Button ID="CheckoutButton" runat="server" Text="Checkout" 
            onclick="CheckoutButton_Click" OnClientClick="javascript:Checkout();" />

        <script type="text/javascript">
            function Checkout() {

               simpleCart.checkout();
               return true;

            }    
            </script>

编辑: 您希望在服务器事件之后调用脚本。然后你需要在“CheckoutButton_Click”结束时调用你的Checkout功能。

Page.ClientScript.RegisterStartupScript(Page.GetType(), "calling checkout", "<script>CheckOut();</script>", true);

simpleCart.checkout()没有机会进行重定向,因为OnClientClick返回true并回发。

答案 1 :(得分:0)

这应该足够了。

function Checkout() {
    simpleCart.checkout();
    return true;
}

答案 2 :(得分:0)

您可以从服务器端调用您的javascript。

Page.RegisterStartupScript will assists you to fire javascript from code behind.

Page.ClientScript.RegisterStartupScript(Page.GetType(), Guid.NewGuid().ToString(), "alert('hello')", true);