none
Llenar un dropdwonlist con procedimiento almacenado entityframework RRS feed

  • Pregunta

  • Hola a todos,

    Quiero pedir su ayuda ya que no encuentro la manera de lograr llenar un dropdwonlist con un procedimiento almacenado.

    Mi procedimiento es el siguiente:

    CREATE PROCEDURE GetDepartamentos

    AS

    BEGIN

        SELECT 0 Id_Departamento, 'Todos' Nombre_Departamento

       UNION ALL SELECT Id_Departamento, Nombre_Departamento FROM Departamentos

    END

    Ya he mapeado mi procedimiento con entityframework y me creo un modelo GetDepartamentos_Result.cs

    Ahora en mi controlador tengo un metodo que retorna una Lista:

    public List<GetDepartamentos_Result> GetDepartamentos()

    {

         using (TigerEntities db = new TigerEntities())

          {

               var v = db.GetDepartamentos().ToList(); 

               return v;

           }

    }

    Y un método ActionResult combo que me envia a mi vista Combo.cshtml:

    public ActionResult Combo()

    {

            var a = GetDepartamentos();

             ViewBag.Departamentos = new SelectList(a, "Id_Departamento", "Nombre_Departamento");

             return View();

    }

    Es correcto lo que estoy haciendo para llenar el combo? No he logrado conseguirlo y ademas como lo llamaria en vista?

    List<ComboMVC.GetDepartamentos_Result>

    Cabe mencionar que preciso utilizar el procedimiento almacenado tal cual lo he compartido.

    Espero me puedan alguna orientacion al respecto. 

    Muchas gracias por su ayuda.



    Carlos David Frias


    miércoles, 10 de enero de 2018 19:18

Todas las respuestas

  • Hola a todos,

    Quiero pedir su ayuda ya que no encuentro la manera de lograr llenar un dropdwonlist con un procedimiento almacenado.

    Mi procedimiento es el siguiente:

    CREATE PROCEDURE GetDepartamentos

    AS

    BEGIN

        SELECT 0 Id_Departamento, 'Todos' Nombre_Departamento

       UNION ALL SELECT Id_Departamento, Nombre_Departamento FROM Departamentos

    END

    Ya he mapeado mi procedimiento con entityframework y me creo un modelo GetDepartamentos_Result.cs

    Ahora en mi controlador tengo un metodo que retorna una Lista:

    public List<GetDepartamentos_Result> GetDepartamentos()

    {

         using (TigerEntities db = new TigerEntities())

          {

               var v = db.GetDepartamentos().ToList(); 

               return v;

           }

    }

    Y un método ActionResult combo que me envia a mi vista Combo.cshtml:

    public ActionResult Combo()

    {

            var a = GetDepartamentos();

             ViewBag.Departamentos = new SelectList(a, "Id_Departamento", "Nombre_Departamento");

             return View();

    }

    Es correcto lo que estoy haciendo para llenar el combo? No he logrado conseguirlo y ademas como lo llamaria en vista?

    List<ComboMVC.GetDepartamentos_Result>

    Cabe mencionar que preciso utilizar el procedimiento almacenado tal cual lo he compartido.

    Espero me puedan alguna orientacion al respecto. 

    Muchas gracias por su ayuda.



    Carlos David Frias


    Hola a todos, solo para informarles que y pude resolver la duda que tenia. Solo se tenia que hacer lo siguiente: @Html.DropDownListFor(model => model.Id_Departamento, ViewBag.Departamentos as SelectList. Por si a alguien le ayudara de igual manera, lo comparto.

    Carlos David Frias

    viernes, 12 de enero de 2018 17:30