2015-06-01 4 views
2

У меня возникли проблемы с брандмауэром 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 и другие. Пожалуйста, помогите, как это сделать.

+0

500 означает, что что-то пошло не так на стороне сервера, у вас есть сообщение об исключении и трассировка стека, отправленные в ответ (ActionResult), или просто отлаживать его на стороне сервера ... –

ответ

0

Вы пытались отладить его и получить сообщение об исключении + трассировку стека для обнаружения ошибки? Отладчик - хороший инструмент, чтобы избежать «возможно». Более того, ASP.NET должен обязательно возвращать описание ошибки, если такая конфигурация включена в Web.config.

Пожалуйста, найдите ошибку, отлаживая и публикуя данные об исключениях здесь.

Или изменить Web.config такое, что у вас есть следующее значение:

<configuration> 
    <system.web> 
     <customErrors mode="Off" /> 
    </system.web> 
</configuration> 

Обновите страницу и вы получите описание вашей ошибки в.
Обнаружите ошибку и исправьте ее или опубликуйте здесь, и мы поможем вам.

+0

Ошибка не происходит в коде ASP.NET C#, это комбинация ошибок кендо-сетки и jquery. Ошибки: POST http: // localhost: 3780/Soporte/Usuarios/Cargar 500 (Внутренняя ошибка сервера) jquery-2.1.3.js: 8625 отправить jquery-2.1.3.js: 8625 jQuery.extend.ajax jquery -2.1.3.js: 8161 pt.extend.read kendo.web.min.js: 11 m.transports.aspnetmvc-ajax.f.data.RemoteTransport.extend.read kendo.aspnetmvc.min.js: 9 (анонимная функция) kendo.web.min.js: 11 ht.extend._queueRequest kendo.web.min.js: 11 ... продолжение – user2403459

+0

продолжить ... ht.extend.read kendo.web.min. js: 11 ht.extend.query kendo.web.min.js: 11 ht.extend._query kendo.web.min.js: 11 ht.extend.fetch kendo.web.min.js: 11 pt .ui.DataBoundWidget.extend.init kendo.web.min.js: 30 (анонимная функция) kendo.web.min.js: 10 jQuery.extend.each jquery-2.1.3.js: 374 jQuery.fn.jQuery.each jquery-2.1.3.js: 139 e.fn . (анонимная функция) kendo.web.min.js: 10 (анонимная функция) VM375: 1 fire jquery-2.1.3.js: 3094 self.add jquery-2.1.3.js: 3140 jQuery.fn .ready JQuery-2.1.3.js: 3373 jQuery.fn.init JQuery-2.1.3.js: 2816 JQuery JQuery-2.1.3.js: 76 (анонимные функции) VM375: 1 продолжают – user2403459

+0

продолжаться. .. jQuery.extend.globalEval jquery-2.1.3.js: 328 jQuery.fn.extend.domManip jquery-2.1.3.js: 5430 jQuery.fn.extend.append jquery-2.1.3.js: 5213 (анонимная функция) kendo.web.min.js: 41 jQuery.extend.each jquery-2.1 .3.js: 374 h.extend.append kendo.web.min.js: 41 $ .ajax.success Директор: 121 fire jquery-2.1.3.js: 3094 self.fireWith jquery-2.1.3 .js: 3206 done jquery-2.1.3.js: 8259 (анонимная функция) jquery-2.1.3.js: 8600. Я должен был разбить ошибку на 3 комментария – user2403459

Смежные вопросы