如何获得返回JavaScript函数的模型的价值?

时间:2018-07-10 09:25:48

标签: javascript c# asp.net ajax razor

下面是控制器的功能/方法:

public ModelVoucherLogs getDetails(int id)
{
    VoucherHistoryManager manager1 = new VoucherHistoryManager();
    var m = manager1.FindAll()
        .Where(a => a.ID == id)
        .Single();

    VoucherLogsManager manager = new VoucherLogsManager();

    ModelVoucherLogs model = manager.FindAll()
        .Where(a => a.VoucherNo.Equals(m.VoucherNo) &&
                    a.TransactionType.Equals("CONSUMED"))
        .Single();

    return model;
}

这将是JavaScript函数:

function getDetails(id) {
    var modal = document.getElementById('details_modal');
    modal.style.display = "block";
    $.ajax({
        type: "POST",
        url: "Main/getDetails?id=" + id,
        success: function (model) {

        }
    });
}

如何分别获取模型的值。   示例:我们只说该模型具有凭单ID,交易类型等
我该如何获得这些价值。

1 个答案:

答案 0 :(得分:-3)

仅举一个例子,我觉得这应该工作吗?创建一个我们现在称为returnData的变量,并将ajax结果(模型)绑定到该变量中。在函数的最后,返回数据,然后我们可以在HandleDetails函数中访问它。 (您可能希望使ajax调用同步,否则可能会返回一个空变量)

function getDetails(id) 
    var returnData;
    var modal = document.getElementById('details_modal');
    modal.style.display = "block";
    $.ajax({
        type: "POST",
        url: "Main/getDetails?id=" + id,
        async: false,
        success: function (model) {
            returnData = model;
        }
    });
    
    return returnData;
}

function HandleDetails() {
    var data = getDetails(1);
    
    var voucherId = data.VoucherID;
    var transactionType = data.TransactionType;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>