C# 使用jqueryajax从控制器获取值

C# 使用jqueryajax从控制器获取值,c#,jquery,asp.net,model-view-controller,C#,Jquery,Asp.net,Model View Controller,我想从控制器获取新值,并在表单提交时将其设置为视图 控制器: public JsonResult GetVoucherNo() { var voucherno = 1001; var lastvoucherno = db.PaymentsAndReceipts.Where(x => x.StakeHolder.StakeHolderType.Name == "Supplier").OrderBy(x => x.VoucherNo).ToLis

我想从
控制器
获取新值,并在表单提交时将其设置为
视图

控制器:

public JsonResult GetVoucherNo()
    {
        var voucherno = 1001;

        var lastvoucherno = db.PaymentsAndReceipts.Where(x => x.StakeHolder.StakeHolderType.Name == "Supplier").OrderBy(x => x.VoucherNo).ToList().LastOrDefault();

        if (lastvoucherno != null)
        {
            voucherno = lastvoucherno.VoucherNo.GetValueOrDefault() + 1;
        }

        return new JsonResult { Data = voucherno, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
我的Jquery函数:

public JsonResult GetVoucherNo()
    {
        var voucherno = 1001;

        var lastvoucherno = db.PaymentsAndReceipts.Where(x => x.StakeHolder.StakeHolderType.Name == "Supplier").OrderBy(x => x.VoucherNo).ToList().LastOrDefault();

        if (lastvoucherno != null)
        {
            voucherno = lastvoucherno.VoucherNo.GetValueOrDefault() + 1;
        }

        return new JsonResult { Data = voucherno, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
    }
我只想当这个
函数
调用时,我可以从
控制器操作
中获取值

function getVoucherNo()
{
    $.ajax({
        contentType: 'application/json; charset=utf-8',
        url: 'Payments/GetVoucherNo',
        dataType: "json"
    }).done(function () {
    //don't know what to do here.
    });
} 

数据应该在
done
函数参数中可用,如下所示:

function getVoucherNo()
{
   $.ajax({
      contentType: 'application/json; charset=utf-8',
      url: 'Payments/GetVoucherNo',
      dataType: "json"
   }).done(function (result) {
     //don't know what to do here.
     console.log(result);
     //you should see the exact JSON you return from the controller
   });
} 

数据应该在
done
函数参数中可用,如下所示:

function getVoucherNo()
{
   $.ajax({
      contentType: 'application/json; charset=utf-8',
      url: 'Payments/GetVoucherNo',
      dataType: "json"
   }).done(function (result) {
     //don't know what to do here.
     console.log(result);
     //you should see the exact JSON you return from the controller
   });
} 

我成功地做到了

function getVoucherNo()
{
    $.ajax({
        contentType: 'application/json; charset=utf-8',
        url: '/Payments/GetVoucherNo',
        dataType: "json",
        success: function (result) {
            console.log(result);
            return $('#VoucherNo').val(result); //to set value in textbox.
        },
        error: function (xhr, status, error) {
            alert(xhr);
            console.log(xhr, status, error);
        }
    });
}

我成功地做到了

function getVoucherNo()
{
    $.ajax({
        contentType: 'application/json; charset=utf-8',
        url: '/Payments/GetVoucherNo',
        dataType: "json",
        success: function (result) {
            console.log(result);
            return $('#VoucherNo').val(result); //to set value in textbox.
        },
        error: function (xhr, status, error) {
            alert(xhr);
            console.log(xhr, status, error);
        }
    });
}
您可以先执行
.success()
.fail()
操作,然后再执行可能重复的操作。例如do
.done((result)=>{console.log(result);})在完成之前,可以执行
.success()
.fail()
的可能重复操作。例如do
.done((result)=>{console.log(result);})