我正在使用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的新手,所以我真的不知道如何做到这一点,请帮忙。
答案 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);