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 に答える