如何将视图袋从控制器转到视图(Ajax URL)



**控制器代码**

我在我的Controller和方法get_curent_LoanNumber

中具有以下代码
public JsonResult (string loan_code)
{
    try
    {
        using (sqlConnection)
        {
            dynamic loanno = sqlConnection.Query("get_loan_number", new {loan_code }, 
            commandType: CommandType.StoredProcedure).SingleOrDefault();
            ViewBag.currentLoanNumbe= loanno.LoanNo;
            return Json(loanno, JsonRequestBehavior.AllowGet);
        }
    }
    catch (Exception)
    {
        throw;
    }
}

查看代码这是View中的代码,JavaScript函数savePayslipInfo使Ajax请求。

 function () {
    console.log('@ViewBag.currentLoanNumbe');
    $.ajax({
        type: "POST",
        url: "http://localhost:1079/loanapplication/save_Payslip_Info/?loan_no" + '@ViewBag.currentLoanNumbe',
        data: {
            //loan_no: $(loan_no).val(),
            basic_salary: $("#basic_salary").val(),
            house_allowance: $("#house_allowance").val(),
            other_allowance: $("#other_allowance").val(),
            other_payment: $("#other_payment").val(),
            total_deduction: $("#total_deduction").val()
        },
        success: function () {
            $('#msg').html("Payslip info saved successfully").fadeIn('slow');
            $('#msg').delay(4000).fadeOut('slow');
        }
    });
}

这不是MVC的工作方式。您没有从操作方法中返回视图。您正在返回JSON。因此,没有与动作方法相关的观点。您本质上要做的是将操作方法用作API,并使用Ajax从JavaScript调用它,而Ajax与从动作返回和绑定视图不同。您的视图袋将无法访问,因为您在此处使用的视图在问题中没有被操作方法呈现。

最新更新