none
Problema con Dropdownlist RRS feed

  • Pregunta

  • Buenas, estoy realizando una aplicación web, mi problema se presenta al agregar unos asp:DropDownList la aplicación busca simular lo de grado y sección, entonces al seleccionar una opción del primer DropDownList se debe cargar el segundo con los datos de la sección, todo eso lo logro correctamente, el problema está en el primero, ya que al seleccionar la opción la página se me va hasta arriba y debo bajar hasta donde están los DropDownList para poder utilizar el segundo, quería saber si esto se puede evitar y como, muchas gracias de ante mano.

    Adjunto algunos códigos.

    <!-- Inicio Primera Columna -->
                <div class="col-md-6">
                    <div class="box box-ctph">
                        <div class="box-body">
                            <div class="form-group">
                                <label>Grado a matricular</label>
                            </div>
                            <div class="form-group">
                                <asp:DropDownList runat="server" ID="ddlGrado" CssClass="form-control" AutoPostBack="true" OnSelectedIndexChanged="ddlGrado_SelectedIndexChanged"></asp:DropDownList>
                            </div>
                            <div class="form-group">
                                <label>Seccion a matricular</label>
                            </div>
                            <div class="form-group">
                                 <asp:DropDownList runat="server" ID="ddlSeccion" CssClass="form-control" Enabled="false" >
    
                                 </asp:DropDownList>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- Fin Primera Columna -->

     public partial class GestionarMatricula : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!Page.IsPostBack)
                {
                    
                    ListItem i;
                    i = new ListItem("Seleccione una opcion", "1");
                    ddlGrado.Items.Add(i);
                    i = new ListItem("Decimo", "2");
                    ddlGrado.Items.Add(i);
                    i = new ListItem("Undecimo", "3");
                    ddlGrado.Items.Add(i);
                    i = new ListItem("Duodecimo", "4");
                    ddlGrado.Items.Add(i);
    
                    ListItem o;
                    o = new ListItem("Seleccione una opcion", "1");
                    ddlAdecuacion.Items.Add(o);
                    o = new ListItem("Si requiere", "2");
                    ddlAdecuacion.Items.Add(o);
                    o = new ListItem("Ni requiere", "3");
                    ddlAdecuacion.Items.Add(o);
    
                    ListItem p;
                    p = new ListItem("Seleccione una opcion", "1");
                    ddlReligion.Items.Add(p);
                    p = new ListItem("Si recibe", "2");
                    ddlReligion.Items.Add(p);
                    p = new ListItem("Ni recibe", "3");
                    ddlReligion.Items.Add(p);
                }
            }
    
            //Se omite codigo
    
    
            //Se omite codigo
    
            protected void ddlGrado_SelectedIndexChanged(object sender, EventArgs e)
            {
              
                ListItem i;
                ddlSeccion.Items.Clear();
                if (ddlGrado.SelectedValue == "2")
                //if (ddlGrado.SelectedIndex.Equals("Decimo"))
                {
                    ddlSeccion.Enabled = true;
                    i = new ListItem("Seleccione una opcion", "1");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-1", "2");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-2", "3");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-3", "4");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-4", "5");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-5", "6");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-6", "7");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-7", "8");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-8", "9");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-9", "10");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("10-10", "11");
                    ddlSeccion.Items.Add(i);
                }
                else if (ddlGrado.SelectedValue == "3")
                //else if (ddlGrado.SelectedIndex.Equals("Undecimo"))
                {
                    ddlSeccion.Enabled = true;
                    i = new ListItem("Seleccione una opcion", "1");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-1", "2");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-2", "3");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-3", "4");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-4", "5");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-5", "6");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-6", "7");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-7", "8");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-8", "9");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-9", "10");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("11-10", "11");
                    ddlSeccion.Items.Add(i);
                }
                else if (ddlGrado.SelectedValue == "4")
                //else if (ddlGrado.SelectedIndex.Equals("Duodecimo"))
                {
                    ddlSeccion.Enabled = true;
                    i = new ListItem("Seleccione una opcion", "1");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-1", "2");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-2", "3");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-3", "4");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-4", "5");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-5", "6");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-6", "7");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-7", "8");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-8", "9");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-9", "10");
                    ddlSeccion.Items.Add(i);
                    i = new ListItem("12-10", "11");
                    ddlSeccion.Items.Add(i);
                }
                else if (ddlGrado.SelectedValue == "1")
                {
                    ddlSeccion.Enabled = false;
                }
            }
        }

    En resumen, al seleccionar el grado "Decimo", el segundo dropdownlist se completa las opciones correctas, pero la pagina se va hasta arriba y se debe bajar manualmente para volver llegar a los dropdownlist.
    martes, 22 de enero de 2019 5:14

Respuestas

  • Se puede evitar que la página se vaya hasta arriba de una forma bastante sencilla. Basta que en el @page al principio del aspx le añadas MaintainScrollPositionOnPostback="true"

    <%@ Page MaintainScrollPositionOnPostback="true" ..... %>

    martes, 22 de enero de 2019 7:18

Todas las respuestas