我有一个 kendoGrid ,用.Read(r => r.Action("CargaNotificacionesPorCliente", "bff").Data("getClaveCliente")))
读取数据,调用正常,网格中的值正确显示,这里没什么奇怪的。
当我打开Chrome DevTools时,它会显示以下错误:
POST http://localhost:52881/bff/CargaNotificacionesPorCliente 500 (内部服务器错误)
我不知道为什么将其标记为 POST 而非 GET 。
这是我的方法(实际上有效)
public ActionResult CargaNotificacionesPorCliente([DataSourceRequest] DataSourceRequest request, string numeroCliente)
{
bff.Configuration.LazyLoadingEnabled = false;
var lstNotificaciones = new List<NotificacionesModel>();
var lstNoPartesNuevas = bff.inspListaNoPartes
.Where(x => x.codeCustomer == numeroCliente &&
x.Estatus == Constantes.EstatusNumParteNuevo &&
x.VistoCte == false)
.Include(i => i.CustomerCUSTOMER)
.ToList();
var cantidadComentariosNuevos = bff.inspCommentNoPartes
.Count(x => x.inspListaNoParte.codeCustomer == numeroCliente &&
x.Visto == false &&
x.Usuario != User.Identity.Name);
if (lstNoPartesNuevas.Any())
{
foreach (var item in lstNoPartesNuevas)
{
if (lstNotificaciones.All(a => a.IdCustomer != item.IdCustomer))
{
lstNotificaciones.Add(new NotificacionesModel
{
Cantidad = lstNoPartesNuevas.Count(x => x.IdCustomer == item.IdCustomer && x.Estatus == Constantes.EstatusNumParteNuevo && x.VistoSup == false) + cantidadComentariosNuevos,
Name = item.CustomerCUSTOMER.name,
IdCustomer = item.IdCustomer,
IdNumPart = item.IdNumPart
});
}
}
}
return Json(lstNotificaciones.ToList().ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
}
这是DevTools
中错误的预览标签&#39; /&#39;中的服务器错误应用
输入字符串的格式不正确。
描述:执行期间发生了未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息: System.FormatException:输入字符串不在 格式正确。
但正如我所说,它很奇怪,因为它有效
尝试添加 [HttpGet] 但是不起作用,实际上永远不会使用该注释调用该方法。
修改
我通过这种方式做了绑定:
$("#Notificaciones").data("kendoGrid").dataSource.read(); // Read data
$("#Notificaciones").data("kendoGrid").dataSource.page(1); // Go to page 1
我删除了第二行(.dataSource.page(1);
),现在错误消失了,但是这会如何影响通话?我无法弄清楚
答案 0 :(得分:1)
应该可以做这样的事情
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("Index", "Banques").Type(HttpVerbs.Get))
.PageSize(8)
)
答案 1 :(得分:1)