0

我正在开发 MVC 应用程序。我在视图中写了一个 JQuery。但对传递参数感到困惑......如何写?

查看代码------

  function ValidateSanctionAmount()
    {

      var amt1=$('#Amount1').val();
      var amt2=$('#Amount2').val();

  var url1 = '@Url.Action("checkPOAmountsValidations", "PaymentAdviceController", new { POId : "a", SanctionedAmt : "b" })';
                        url1 = url1.replace("a",amt1);
                        url1 = url1.replace("b",amt1);

                        url1 = url1.replace("sanctionedAmount",param1);

                        $.ajax({
                            url: url1,
                            type: "GET",
                            success: function (Data) {
                                $('#divNewInvoice').append(Data);
                            }
                        });

控制器代码-----

   public JsonResult checkPOAmountsValidations(int POId,double SanctionedAmt)
          {
                var oPurchaseOrderHelper = new PurchaseOrderHelper();
                bool b;
                int POId1 =POId;
                double SanctionedAmt1 = SanctionedAmt;

                b = oPurchaseOrderHelper.GetAmountsSumForValidation(POId1, SanctionedAmt1);

                if (b == true)
                {
                    return Json(true);
                }
                else
                {
                    return Json(false);
                }

          }

------ 代码在视图 在此处输入图像描述

------控制器中的代码

在此处输入图像描述

4

1 回答 1

2

更新:由于您使用的是 ajax,因此您不必执行url1.replace

var url1 = '@Url.Action("checkPOAmountsValidations", "PaymentAdviceController")';
$.ajax({
    url: url1,
    data : JSON.stringify({ POId : amt1, SanctionedAmt: amt2 }),
    dataType : "JSON",
    type: "GET",
    success: function (Data) {
        $('#divNewInvoice').append(Data);
    }
});

老的:

试试这个,JavaScript 在生成操作 URL 时不会执行。

function ValidateSanctionAmount()
{
    var amt1=$('#Amount1').val();
    var amt2=$('#Amount2').val();

    var url1 = '@Url.Action("check", "controller1", new { param1= "-1", param2= "-1" })';
    url1 = url1.replace("-1",amt1);
    url1 = url1.replace("-2",amt2);
}

控制器方法:

public class controller1: Controller
{
    public ActionResult check(double param1, double param2)
    {
        //Do whatever
        return View();
    }
}
于 2013-06-28T08:32:56.510 回答