【发布时间】:2020-03-04 19:05:40
【问题描述】:
我正在将数据返回到模型,然后我用 JS 恢复它,但我看到它们是 Null,我添加了我的代码来恢复数据和发送它的位置
C#
[HttpPost]
public JsonResult AjaxMethod(string type, int value)
{
CascadingModelGastos model = new CascadingModelGastos();
switch (type)
{
case "ProyectoID":
model.Recurso = PopulateDropDown("SELECT Id, Descripcion FROM [dbo].[Cat_Cuenta_Recurso] ", "Descripcion", "Id");
break;
case "RecursoID":
model.SubRecurso = PopulateDropDown("SELECT Id, DescripcionSubRecurso FROM [dbo].[Cat_Cuenta_SubRecurso] WHERE Id_Cuenta_Recurso = " + value, "DescripcionSubRecurso", "Id");
break;
case "SubRecursoID":
model.TipoPago = PopulateDropDown("SELECT ID, DescripcionTipoPago FROM[dbo].[Cat_TipoPago] WHERE ESTATUS = 'A'", "DescripcionTipoPago", "Id");
DataSet Tabla = new DataSet();
Tabla = BLL.BLL.Negocio.ConaultaImporte(value);
model.Programado = "$" + Tabla.Tables[0].Rows[0]["TotalProgramadoMensual"].ToString();
break;
}
return Json(model);
}
返回null的数据是:
model.Programado = "$" + Tabla.Tables[0].Rows[0]["TotalProgramadoMensual"].ToString();
所以我调用了方法:
$("select").change(function () {
var value = 0;
if ($(this).val() != "") {
value = $(this).val();
}
var id = $(this).attr("id");
$.ajax({
type: "POST",
url: "../AjaxMethod",
data: '{type: "' + id + '", value: ' + value + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var dropDownId;
var list;
switch (id) {
case "ProyectoID":
list = response.Recurso;
DisableDropDown("#RecursoID");
DisableDropDown("#SubRecursoID");
PopulateDropDown("#RecursoID", list);
break;
case "RecursoID":
dropDownId = "#SubRecursoID";
list = response.SubRecurso;
DisableDropDown("#SubRecursoID");
PopulateDropDown("#SubRecursoID", list);
break;
case "SubRecursoID":
dropDownId = "#TipoPagoID";
list = response.TipoPago;
DisableDropDown("#TipoPagoID");
PopulateDropDown("#TipoPagoID", list);
break;
}
},
failure: function (response) {
alert(response.responseText);
},
error: function (response) {
alert(response.responseText);
}
});
var models = @Html.Raw(Json.Encode(Model));
document.getElementById("Programado").value = models.Programado;
});
});
所以我尝试恢复我的模型数据:
var models = @Html.Raw(Json.Encode(Model));
最后一个问题是:什么时候可以恢复我的模型数据???
【问题讨论】:
-
您需要继续兑现
.ajax回报的承诺。原始调用由服务器执行。
标签: javascript c# jquery model-view-controller