问题描述
首先我会说昨天代码运行良好。我不知道我做错了什么,我认为这应该有效,但它并没有提前感谢您的所有帮助:
我有这个看法,我正在尝试实施 Paypal Paylemnet。这是视图中的脚本部分:
<div id="smart-button-container">
<div style="text-align: center;">
<div id="paypal-button-container"></div>
</div>
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script src="https://www.paypal.com/sdk/js?client-id=sb¤cy=EUR" data-sdk-integration-source="button-factory"></script>
<script>
function initPayPalButton() {
paypal.Buttons({
style: {
shape: 'rect',color: 'gold',layout: 'vertical',label: 'paypal',},createOrder: function (data,actions) {
var totalPrice = @Model.OrderDetailsVMs.Sum(x => x.TotalPricePerOrderDetails);
return actions.order.create({
purchase_units: [{ "amount": { "currency_code": "EUR","value": (totalPrice + 10),"breakdown": { "item_total": { "currency_code": "EUR","value": totalPrice },"shipping": { "currency_code": "EUR","value": 10 },"tax_total": { "currency_code": "EUR","value": 0 } } } }]
});
},onApprove: function (data,actions) {
return actions.order.capture().then(function (details) {
alert('Transaction completed by ' + details.payer.name.given_name + '!');
});
},onError: function (err) {
console.log(err);
}
}).render('#paypal-button-container');
}
initPayPalButton();
</script>
}
问题出在这一行:
var totalPrice = @Model.OrderDetailsVMs.Sum(x => x.TotalPricePerOrderDetails);
该值不会从 razor 传递到 js var。如果我将一个值硬编码为 var totalPrice,例如如果我写:
var totalPrice = 3.33;
一切正常。另外,我可以显示
的值@Model.OrderDetailsVMs.Sum(x => x.TotalPricePerOrderDetails);
并且它有效,所以我知道该值通过那里。谁能想到为什么值没有在脚本内部传递?
P.S 即使我尝试通过 id 传递它,我也会遇到同样的问题。
先谢谢大家。
编辑:修复了它使用的十进制值后超过两位数的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)