2

我的视图中有几个选项卡并且有部分视图。

局部视图包含一个 web 网格。根据所选的选项卡,网格必须加载特定的数据。

使用 RenderAction 返回局部视图。但是当我发布我的观点时,我遇到了溢出异常。

这是我的代码。

<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Sage Pay</a></li>
        <li><a href="#tabs-2" >Pay Pal</a></li>
    </ul>
    <div id="tabs-1">
        @{Html.RenderAction("SagePayPayments", "OrderProcessing");}
    </div>
    <div id="tabs-2">
        @{Html.RenderAction("PayPalPayments", "OrderProcessing");}
    </div>

我的控制器是

public ActionResult PayPalPayments()
    {
        var model = new OrderContext().GetNewPayments(PaymentType.PayPal);
        return PartialView("_PaymentsToVerify", model);
    }

    public ActionResult SagePayPayments()
    {
        var model = new OrderContext().GetNewPayments(PaymentType.SagePay);
        return PartialView("_PaymentsToVerify", model);
    }

    [HttpPost]
    public ViewResult VerifyPayments(FormCollection formData)
    {
        var context = new OrderContext();
        var orderIds = formData.GetValues("chkSelected");
        if (orderIds != null)
        {
            IList<long> selectedOrders = orderIds.Select(orderId => Convert.ToInt64(orderId)).ToList();
            context.VerifyPayments(selectedOrders);
        }
        return View("Unverified");
    }

有人可以帮助我我所缺少的。

谢谢

4

1 回答 1

0

我们似乎专注于对这个问题的看法,但我怀疑这是问题所在。

您正在将一个值转换为一个 long,如果它计算的值超过 long.MaxValue 或小于 long.MinValue,这可能会引发溢出异常。

我会说,将此位放在 try catch 块中并尝试再次运行您的代码,然后检查您要转换的值是什么,并从那里解决真正的问题。

于 2012-10-20T16:47:48.483 回答