【发布时间】:2015-06-01 03:26:28
【问题描述】:
我在使用 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 序列化时似乎会出现问题,因为网格中没有数据显示并且表有行。也许从模型中序列化对象(如虚拟属性)存在问题,例如:虚拟角色对象等。请需要有关如何使用它的帮助。
【问题讨论】:
-
500 表示服务器端出了点问题,您能否在响应中发送异常消息和堆栈跟踪(ActionResult),或者只是在服务器端调试它...
标签: c# kendo-ui kendo-grid kendo-asp.net-mvc