none
Valor por default de DropDownListFor RRS feed

  • Pregunta

  • Hola Amigos,

    Estoy llenado un DropDownListFor y funciona bien pero quisiera que inicie con un valor por defecto. Alguna solución por favor.

            public void listarexistencia()
            {
                List<spcattipoexistencialistar_Result> existencias = new List<spcattipoexistencialistar_Result>();
                existencias = CatalogoBL.ListarTipoExistencia().ToList();
                SelectList ExisteciaLista = new SelectList(existencias, "CatTipoExistenciaCodigo", "CatTipoExistenciaDescrip");
                ViewBag.ListarExistencia = ExisteciaLista;
            }

                <td>
                    @Html.Label("Existencia", htmlAttributes: new { @class = "control-label col-md-2" })
                    @Html.DropDownListFor(model => model.CatTipoExistenciaCodigo, ViewBag.ListarExistencia as SelectList, "Seleccione", htmlAttributes: new
               { @class = "form-control",
                   @style = "text-transform:uppercase",
                   @autocomplete = "off",
                   @text = "PRODUCTO TERMINADO",
                   @value = "02",
                   @selected = true
               })
                    @Html.ValidationMessageFor(model => model.CatTipoExistenciaCodigo, "", new { @class = "text-danger" })
    
                </td>


    Conocuica

    domingo, 21 de abril de 2019 16:33

Todas las respuestas

  • hola

    >>pero quisiera que inicie con un valor por defecto

    pero ya defines un valor por defecto cuando indicas el "Seleccione" ese aparecer seleccionado

    @Html.DropDownListFor(model => model.CatTipoExistenciaCodigo, ViewBag.ListarExistencia as SelectList, "Seleccione",

    Si quieres otro valor solo debes asignar la propiedad "CatTipoExistenciaCodigo" que envias como model desde el action a la view

    Aunque no veo en listarexistencia() que estes responda con una View() a la cual le asignas el model por lo tanto no se como haces pasa usar un DropDownListFor

    tu metodo deberia ser

    public ActionResult listarexistencia()
    {
    	List<spcattipoexistencialistar_Result> existencias = CatalogoBL.ListarTipoExistencia().ToList();
    	
    	SelectList ExisteciaLista = new SelectList(existencias, "CatTipoExistenciaCodigo", "CatTipoExistenciaDescrip");
    	ViewBag.ListarExistencia = ExisteciaLista;
    	
    	return View(model);
    }

    sino defines la clase model que envias a la view no tienes la propiedad CatTipoExistenciaCodigo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 22 de abril de 2019 3:10
  • Leandro,

    Gracias por las respuestas pero lo solucione de la siguiente manera no se si sera la correcta o si existe algo más eficiente. Estoy comenzando con MVC

    En el Controlador

           // GET: Producto/Create
            public ActionResult Create()
            {
                if (Session["usuario"] == null)
                {
                    return RedirectToAction("Login", "Inicio");
                }
                else
                {
    
                    ParProducto ParProducto = new ParProducto();
    
                    listarexistencia();
    
                    listafamiias();
    
                    listaproductostipo();
    
                    listamarca();
    
                    listarmoneda();
    
                    listarunidadesmedida();
    
                    ParProducto.CatTipoExistenciaCodigo = "02";
                    ParProducto.CatUniMedCodigo = "NIU";
                    ParProducto.CatTipoMonCode = "PEN";
    
                    return View(ParProducto);
                }
    
            }
    
            public void listarexistencia()
            {
                List<spcattipoexistencialistar_Result> existencias = new List<spcattipoexistencialistar_Result>();
                existencias = CatalogoBL.ListarTipoExistencia().ToList();
                SelectList ExisteciaLista = new SelectList(existencias, "CatTipoExistenciaCodigo", "CatTipoExistenciaDescrip");
                ViewBag.ListarExistencia = ExisteciaLista;
                //ViewData["ListarExistencia"] = ExisteciaLista;
            }
    
            public void listafamiias()
            {
                //Lista las familias
                List<spfamilialistar_Result> familias = new List<spfamilialistar_Result>();
                familias = FamiliaBL.Listar("0").ToList();
                SelectList FamiliaLista = new SelectList(familias, "ParFamiliaId", "ParFamiliaNombre");
                ViewBag.ListaFamilias = FamiliaLista;
                //ViewData["ListaFamilias"] = FamiliaLista;
            }
            public void listaproductostipo()
            {
                //Lista las ProductosTipo
                List<spproductotipolistar_Result> productostipo = new List<spproductotipolistar_Result>();
                productostipo = ProductoTipoBL.Listar("0", 0).ToList();
                SelectList ProductosTipoLista = new SelectList(productostipo, "ParProdTipoId", "ParProdTipoNombre");
                //ViewBag.ListaProductosTipo = ProductosTipoLista;
                ViewData["ListaProductosTipo"] = ProductosTipoLista;
            }
            public void listamarca()
            {
                //Lista las ProductosTipo
                List<spmarcalistar_Result> marca = new List<spmarcalistar_Result>();
                marca = MarcaBL.Listar("0").ToList();
                SelectList MarcaListar = new SelectList(marca, "MarcaId", "MarcaNombre");
                ViewBag.ListaMarca = MarcaListar;
                //ViewData["ListarMarca"] = MarcaListar;
            }
            public void listarmoneda()
            {
                List<spcattipomonedalistar_Result> monedas = new List<spcattipomonedalistar_Result>();
                monedas = CatalogoBL.ListarTipoMoneda().ToList();
                SelectList MonedaLista = new SelectList(monedas, "CatTipoMonCode", "CatTipoMonDescrip");
                ViewBag.ListaMoneda = MonedaLista;
                //ViewData["ListarMoneda"] = MonedaLista;
            }
    
            public void listarunidadesmedida()
            {
                List<spcattipounidadmedidalistar_Result> unidadesmedida = new List<spcattipounidadmedidalistar_Result>();
                unidadesmedida = CatalogoBL.ListarTipoMedidas().ToList();
                SelectList UnidadesLista = new SelectList(unidadesmedida, "CatUniMedCodigo", "CatUniMedCodigo");
               
                ViewBag.ListaMedida = UnidadesLista;
                //ViewData["ListarMedidas"] = UnidadesLista;
            }
    

    En la vista lo recupero de la siguiente manera.

                <td>
                    @Html.Label("Existencia", htmlAttributes: new { @class = "control-label col-md-2" })
                    @Html.DropDownListFor(model => model.CatTipoExistenciaCodigo, ViewBag.ListarExistencia as SelectList,"Seleccione",
                   htmlAttributes: new { @class = "form-control", @style = "text-transform:uppercase", @autocomplete = "off"})
                    @Html.ValidationMessageFor(model => model.CatTipoExistenciaCodigo, "", new { @class = "text-danger" })
                </td>
                <td>
                    @Html.Label("Familia", htmlAttributes: new { @class = "control-label col-md-2" })
                    @Html.DropDownListFor(model => model.ParFamiliaId, ViewBag.ListaFamilias as SelectList, "Seleccione", htmlAttributes: new
               {
                   @class = "form-control",
                   @style = "text-transform:uppercase",
                   @autocomplete = "off",
                   @name = "ddlfamilia",
                   @id = "ddlfamilia",
                   data_cascade_combo = "#stypes",
                   data_cascade_combo_source = Url.Action("GetListaProductosTipo", "Producto"),
                   data_cascade_combo_param_name = "dato"
               })
                    @Html.ValidationMessageFor(model => model.ParFamiliaId, "", new { @class = "text-danger" })
                </td>
                <td>
                    @Html.Label("Tipo de Producto", htmlAttributes: new { @class = "control-label col-md-2" })
                @Html.DropDownListFor(model => model.ParProdTipoId, ViewBag.ListaProductosTipo as SelectList, "Seleccione", htmlAttributes: new
               {
                   @class = "form-control",
                   @style = "text-transform:uppercase",
                   @autocomplete = "off",
                   @id = "stypes"
               })
                @Html.ValidationMessageFor(model => model.ParProdTipoId, "", new { @class = "text-danger" })
            </td>
            <td>
                @Html.Label("Marca", htmlAttributes: new { @class = "control-label col-md-2" })
            @Html.DropDownListFor(model => model.MarcaId, ViewBag.ListaMarca as SelectList, "Seleccione", htmlAttributes: new { @class = "form-control", @style = "text-transform:uppercase", @autocomplete = "off" })
            @Html.ValidationMessageFor(model => model.MarcaId, "", new { @class = "text-danger" })
        </td>
                <td>
                    @Html.Label("Medida", htmlAttributes: new { @class = "control-label col-md-2" })
                    @Html.DropDownListFor(model => model.CatUniMedCodigo, ViewBag.ListaMedida as SelectList, "Seleccione", htmlAttributes: new { @class = "form-control", @style = "text-transform:uppercase", @autocomplete = "off" })
                    @Html.ValidationMessageFor(model => model.CatUniMedCodigo, "", new { @class = "text-danger" })
                </td>
                <td>
                    @Html.Label("Moneda", htmlAttributes: new { @class = "control-label col-md-2" })
                    @Html.DropDownListFor(model => model.CatTipoMonCode, ViewBag.ListaMoneda as SelectList, "Seleccione", htmlAttributes: new { @id = "ddlmoneda", @name = "ddlmoneda", @class = "form-control", @style = "text-transform:uppercase", @autocomplete = "off" })
                    @Html.TextBoxFor(model => model.CatTipoMonCode, htmlAttributes: new { @id = "ddlmonnombre", @name = "ddlmonnombre", @type = "hidden" })
                    @Html.ValidationMessageFor(model => model.CatTipoMonCode, "", new { @class = "text-danger" })
                </td>


    Conocuica

    lunes, 22 de abril de 2019 16:46