将 Razor 值传递给视图 mvc asp.net ef 内的 js <script> 时出现问题

问题描述

首先我会说昨天代码运行良好。我不知道我做错了什么,我认为这应该有效,但它并没有提前感谢您的所有帮助:

我有这个看法,我正在尝试实施 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&currency=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 (将#修改为@)