我正在开发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);
}
}
------代码在视图中
------控制器中的代码
答案 0 :(得分: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);
}
});
旧:
试试这个,生成动作URL时JavaScript不会执行。
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();
}
}