none
Como cargar una vista parcial desde SQL Server?

    Pregunta

  • Estimado, Saludos

    Una pregunta, tal vez básica, pero es que ya he realizado todas la posibles revisiones para dar con el porque no me genera el error y simplemente no doy con el mismo,

    El mismo se trata que estoy construyendo una pagina y voy a mostrar en una vista parcial las habilidades de una persona, las cuales están previamente cargadas en base de datos me muestra este error

    Error de servidor en la aplicación '/'.

    Referencia a objeto no establecida como instancia de un objeto.

    Descripción: Excepción no controlada al ejecutar la solicitud Web actual. Revise el seguimiento de la pila para obtener más información acerca del error y dónde se originó en el código. 

    Detalles de la excepción: System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto.

    Error de código fuente: 
    Línea 7:              <div class="row">
    Línea 8:                  <h1 class="section-title wow fadeInLeft animated" data-wow-delay=".6s">Algunas <br>de mis<br> <span>Habilidades</span></h1>
    Línea 9:                  @foreach (var item in Model)
    Línea 10:                 {
    Línea 11:                     <div class="col-sm-6 col-md-3 wow fadeInUp animated" data-wow-delay="1.2s">

    A continuación le enseño el código dentro de mi vista y mi controlador para visualizar la información:

    Vista:

    @model List<Ricardo.Blanco.Neutro.Areas.Admin.Models.Skills>

    @{
        <!-- Skills Section Start -->
        <section id="skills">
            <div class="container">
                <div class="row">
                    <h1 class="section-title wow fadeInLeft animated" data-wow-delay=".6s">Algunas <br>de mis<br> <span>Habilidades</span></h1>
                    @foreach (var item in Model)
                    {
                        <div class="col-sm-6 col-md-3 wow fadeInUp animated" data-wow-delay="1.2s">
                            <div class="fact-block">
                                <div class="circle one">
                                    <div class="count-info">
                                        <h3><span class="counter">@Html.DisplayFor(modelItem => item.Scope)%</span></h3>
                                        <h4>@Html.DisplayFor(modelItem => item.Ability)</h4>
                                    </div>
                                </div>
                            </div>
                        </div>
                    }

                </div>
            </div>
        </section>
        <!-- Skills Section End -->

    }

    Controlador tengo este código a continuación:

            Views partialsViews;
            public SkillsController()
            {
                partialsViews = new Views();
            }

            [ChildActionOnly]
            public ActionResult _SkillsSection()
            {
                List<Skills> listSkills = this.partialsViews.GetSkills();
                return PartialView(listSkills);
            }

    Adicionalmente tengo la clase Views, donde tengo el método para obtener la data desde sql, a continuación se las enseño:

    namespace Ricardo.Blanco.Neutro.Models
    {
        public class Views
        {
            ApplicationDbContext db;

            public Views()
            {
                db = new ApplicationDbContext();
            }

            public List<Skills> GetSkills()
            {
                var listSkills =
                    from data in db.Skills
                    select data;

                return listSkills.ToList();
            }
        }
    }

    Agradezco de su ayuda para de esta manera culminar con mi proyecto. En espera de sus buenos oficios,

    Saludos.

    Carlos M Ramirez M
    Desarrollador .Net / SQL
    miércoles, 4 de julio de 2018 22:34

Todas las respuestas

  • Imagino que Model es nulo.  Depure la llamada al método de acción y verifique que la lista no es nula.

    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    miércoles, 4 de julio de 2018 22:49
  • Gracias por tu respuesta,

    El trae el Model nulo pero con la vista parcial, porque accedo a el mediante una una vista y si puedo ver la data, pero como vista parcial no. ¿Como podria hacer en este caso?

    Saludos.

    jueves, 5 de julio de 2018 0:38
  • Gracias por tu respuesta,

    El trae el Model nulo pero con la vista parcial, porque accedo a el mediante una una vista y si puedo ver la data, pero como vista parcial no. ¿Como podria hacer en este caso?

    Saludos.

    Hmm, no entiendo bien.  Veo que el método de acción tiene el atributo ChildActionOnly, que previene el uso del método fuera de una vista.  En otras palabras, no debería ser posible llamar a su método de acción como vista completa.  ¿O entiendo mal lo que me está diciendo?

    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    viernes, 6 de julio de 2018 17:54