**控制器代码**
我的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');
}
});
}
答案 0 :(得分:2)
这不是MVC的工作方式。您没有从操作方法返回视图。您正在返回JSON。因此,没有渲染视图绑定到action方法。您实际上要做的是将action方法用作API,并使用AJAX从Javascript调用它,这与从action返回和绑定视图不同。您的ViewBag无法访问,因为问题中的Action方法无法呈现您正在使用的View。