【发布时间】:2019-06-29 10:09:32
【问题描述】:
** 控制器代码**
我的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');
}
});
}
【问题讨论】:
-
如果您要返回 JSON,您需要不使用
ViewBag。相反,您想要的数据必须在 JSON 有效负载本身中。所以把它合并到loanno。 -
您的 viewbag 包含来自 loanno 的值。但是您已经在 AJAX 调用中返回了 loanno,因此 viewbag 不包含您尚未提供的任何信息。你不需要它。而且这也没有任何意义...当您返回视图时使用 viewbag,但在这里您返回的是 JSON,而不是视图。
标签: javascript c# json viewbag