У меня возникли проблемы с брандмауэром asp.net mvc, использующим кендо-сетку. Модель данных выглядит следующим образом:Запрашиваемый URL-адрес 500 - Внутренняя ошибка сервера
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>
Проблема возникает, когда выполняется сериализация Json из контроллера, поскольку в таблицу не отображаются данные, а таблица имеет строки. Возможно, проблема связана с сериализацией объектов из таких моделей, как виртуальные свойства, например: виртуальный объект Persona и другие. Пожалуйста, помогите, как это сделать.
500 означает, что что-то пошло не так на стороне сервера, у вас есть сообщение об исключении и трассировка стека, отправленные в ответ (ActionResult), или просто отлаживать его на стороне сервера ... –