[英]How compare int with int model json and mvc 4
我尝试将参数接收的int变量与DB中的int字段进行比较。
控制器功能:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult getServicoID(string serie, int numDoc)
{
try
{
var result = db.Servicos.Where(dados => dados.DadosComerciais.Serie == serie && dados.DadosComerciais.NumDoc == numDoc); // i think the problem is here - dados.DadosComerciais.NumDoc == numDoc
return Json(result, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}
功能js:
function AddServContratado() {
//Buscar ServicoID da tabela servicos para guardar na ServicoContratado
$.getJSON("/Contrato/getServicoID", { serie: $("#Serie").val(), numDoc: $("#NumDoc").val() },
function (result) {
var servicoID = result.ServicosID;
alert(result.ServicosID);
});
我找到了解决方案:
控制器:
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult getServicoID(string serie, int numDoc)
{
try
{
var result = db.Servicos.FirstOrDefault(dados => dados.DadosComerciais.Serie == serie && dados.DadosComerciais.NumDoc == numDoc);
return Json(result.ServicosID, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}
JS:
$.getJSON("/Contrato/getServicoID", { serie: $("#Serie").val(), numDoc: $("#NumDoc").val() },
function (result) {
var servicoID = result;
alert(result);
});
您正在从控制器操作中返回列表。 result
变量是IEnumerable<Servico>
。
在您的javascript文件中,您尝试使用一些result.ServicosID
属性,该属性无法使用,因为您有对象列表。 例如,您可以像这样访问它们: result[0].ServicosID
。
如果要访问单个对象,请确保已从控制器操作中返回了单个对象:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult GetServicoID(string serie, int numDoc)
{
try
{
var result = db.Servicos.FirstOrDefault(dados => dados.DadosComerciais.Serie == serie && dados.DadosComerciais.NumDoc == numDoc);
if (result == null)
{
// no object found in the database that matches the criteria => 404
return HttpNotFound();
}
return Json(result, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
Response.StatusCode = 500;
return Json(new { Result = "ERROR", Message = ex.Message }, JsonRequestBehavior.AllowGet);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.