none
Comenzando con Razor Pages core 2 RRS feed

  • Pregunta

  • Buenos días les comento lo que estoy intentando hacer en Razor Pages Net Core 2

    Necesito enlazar tres dropdownlist de tal forma que al seleccionar un elemento del primero se carguen los del segundo y así hasta el tercero.

    A --- Cambio selección --- Cargo B

    B --- Cambio selección --- Cargo C

    Mi codigo back hasta ahora es:

      
            [BindProperty]
            public List<Filtros> Territoriales { get; set; }
    
    
     public void OnGet()
            {
    
                using (var context = new MiContexto())
                {
                    Territoriales = context.Filtros.Where(b => b.Nivel.Equals("R")).ToList();
    
    // Si he entendido bien de estar forma bindeo mis lista al select tag helper
                }
    
            }

    Parte html del helper

         <form name="form1" asp-action="Edit">
                <select id="TerritorialId" name="DropTerritorial" onchange="DoPostBack();" style="width: 150px; padding: 4px; margin: 4px;">
                    <option label="Seleccione Territorial" selected="selected"></option>
                    @foreach (var territorial in Model.Territoriales)
                    {
                        if (Model.TerritorialId.Equals(territorial.Orter))
                        {
                            <option value="@territorial.Orter" label=@territorial.Orter selected="selected"></option>
    
                        }
                        else
                        {
                            <option value="@territorial.Orter" label=@territorial.Orter></option>
                        }
                    }
                </select>
            </form>

    Dado que necesito que consulte con el servidor cuando cambio la seleccion del item, añado un onchange via javascript y mando el submit del formulario para recoger el valor en el evento Onpost

       function DoPostBack() {
            console.log("Entro");
            document.form1.submit();
        }

         public void OnPost()
            {
                Seleccionado = Request.Form["DropTerritorial"];
            }
    

    y a partir de aquí me pierdo, no se si tengo que volver a cargar otra vez todo el primer dropdown ya que al hacer post pierdo los datos.

    Gracias


    lunes, 11 de febrero de 2019 15:00

Respuestas

Todas las respuestas