我在使用kendo-grid的项目asp.net mvc razor中遇到问题。数据模型如下:
public partial class Usuario
{
private string _id;
public virtual string Id
{
get
{
return this._id;
}
set
{
this._id = value;
}
}
private string _idPerfil;
public virtual string IdPerfil
{
get
{
return this._idPerfil;
}
set
{
this._idPerfil = value;
}
}
private string _idEntidad;
public virtual string IdEntidad
{
get
{
return this._idEntidad;
}
set
{
this._idEntidad = value;
}
}
private int? _idDepArea;
public virtual int? IdDepArea
{
get
{
return this._idDepArea;
}
set
{
this._idDepArea = value;
}
}
private Char _forzarCambioClave;
public virtual Char ForzarCambioClave
{
get
{
return this._forzarCambioClave;
}
set
{
this._forzarCambioClave = value;
}
}
private short? _idDirectivaSeguridad;
public virtual short? IdDirectivaSeguridad
{
get
{
return this._idDirectivaSeguridad;
}
set
{
this._idDirectivaSeguridad = value;
}
}
private string _hash;
public virtual string Hash
{
get
{
return this._hash;
}
set
{
this._hash = value;
}
}
private Char _requiereRol;
public virtual Char RequiereRol
{
get
{
return this._requiereRol;
}
set
{
this._requiereRol = value;
}
}
private string _idEstado;
public virtual string IdEstado
{
get
{
return this._idEstado;
}
set
{
this._idEstado = value;
}
}
private long _idPersona;
public virtual long IdPersona
{
get
{
return this._idPersona;
}
set
{
this._idPersona = value;
}
}
private Estado _estado;
public virtual Estado Estado
{
get
{
return this._estado;
}
set
{
this._estado = value;
}
}
private DirectivaSeguridad _directivaSeguridad;
public virtual DirectivaSeguridad DirectivaSeguridad
{
get
{
return this._directivaSeguridad;
}
set
{
this._directivaSeguridad = value;
}
}
private Entidad _entidade;
public virtual Entidad Entidad
{
get
{
return this._entidade;
}
set
{
this._entidade = value;
}
}
private Persona _persona;
public virtual Persona Persona
{
get
{
return this._persona;
}
set
{
this._persona = value;
}
}
private IList<Rol> _roles = new List<Rol>();
public virtual IList<Rol> Roles
{
get
{
return this._roles;
}
}
private IList<LogMasterAuditoria> _logsMasterAuditoria = new List<LogMasterAuditoria>();
public virtual IList<LogMasterAuditoria> LogsMasterAuditoria
{
get
{
return this._logsMasterAuditoria;
}
}
}
控制器管理模型是:
public class UsuariosController : BaseController
{
private Usuario usuario = new Usuario();
public ActionResult Cargar([DataSourceRequest]DataSourceRequest request)
{
return Json(backend.Usuarios.ToDataSourceResult(request));
}
... }
查看是:
<div>
@(Html.Kendo().Grid<NetInfinity.BackendCore.Usuario>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(c => c.Id).Filterable(false).Width(100).Title(@Usuarios.Id);
columns.Bound(c => c.Persona.Nombres).Width(80).Title(@Usuarios.Nombre);
columns.Bound(c => c.Estado.Descripcion).Width(60).Title(@Usuarios.NombrePerfil);
columns.Bound(c => c.Persona.TipoIdentidad.FormatoPresentacion).Width(20).Title(@Usuarios.IdTipo);
columns.Bound(c => c.Persona.NumeroIdentificacion).Width(30).Title(@Usuarios.IdNumero);
columns.Command(c => c.Custom("Edit").Text("Editar"));
columns.Command(c => c.Custom("Remove").Text("Eliminar"));
})
.ToolBar(t => { t.Excel(); })
.Navigatable()
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Editable(e => e.Mode(GridEditMode.PopUp))
.Resizable(resize => resize.Columns(true))
.HtmlAttributes(new { style = "height:430px;" })
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Model(model => model.Id(c => c.Id))
.Read(read => read.Action("Cargar", "Usuarios"))
)
)
</div>
当执行来自Controller的Json序列化时似乎引起了问题,因为没有数据显示在网格中并且表中有行。也许从模型中序列化对象(如虚拟属性)存在问题,例如:虚拟Persona对象和其他对象。如需使用它,请提供帮助。
答案 0 :(得分:0)
您是否尝试过调试它并获取异常消息+堆栈跟踪来检测错误?调试器是避免“可能”的好工具。此外,如果在Web.config中打开了这样的配置,ASP.NET肯定会返回错误描述。
请通过调试找到错误并在此处发布异常详细信息。
或者更改您的Web.config
,使其具有以下值:
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
</configuration>
刷新页面,您将收到错误的描述 检测错误并修复或在此处发布,我们会帮助您。