Inicio > .NET > [ASP.NET] Validar un Dropdownlist dentro de un UpdatePanel

[ASP.NET] Validar un Dropdownlist dentro de un UpdatePanel

Este caso se da mucho cuando tenemos algo como el siguiente formulario:

image

En donde el primer ddl (dropdownlist) se llena con un origen de datos (sqldatasource, objectdatasource, etc) y según el país que seleccione se llena el estado, esto dentro de un UpdatePanel para que solo se refresque estos controles de nuestra página.

Aquí tenemos que validar que el usuario seleccione una opción que no sea la predeterminada, para esto existen varias maneras de hacerlo, aquí un post de como hacer esto:

http://geeks.ms/blogs/rduarte/archive/2008/10/19/validar-dropdownlist-con-requiredfieldvalidator-y-customvalidator.aspx

Solo que con alguna de estas opciones dentro del UpdatePanel no funciona, ¿por qué?, la verdad no lo sé con exactitud, por eso les ofrezco esta otra solución, yo valido los ddl con un CompareValidator de la siguiente manera:

 

                            
<asp:DropDownList ID="ddlPais" runat="server" Width ="250px" 
                  AutoPostBack="True" DataTextField="Nombre" 
                  DataValueField="Id" AppendDataBoundItems="True" >                                     
</asp:DropDownList>
<asp:CompareValidator ID="cvPais" runat="server" 
            ControlToValidate="ddlPais" Display="Dynamic" 
            Text="<strong>*</strong>" SetFocusOnError="true" 
            Type="Integer" Operator="GreaterThan" 
            ValueToCompare="0" ValidationGroup="valPaso1"></asp:CompareValidator>
                   

Y lleno los siguientes ddl en su respectivo evento DataBound para el valor por Default, y en el evento change lleno los datos correspondientes a la selección del ddl anterior:

 

Protected Sub ddlPais_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPais.DataBound
    Me.ddlPais.Items.Insert(0, New ListItem("--Seleccione un País--", 0))
End Sub

Protected Sub ddlPais_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlPais.SelectedIndexChanged
    'Aquí llenamos el ddl estado con el valor seleccionado del ddlPais
End Sub

Espero que esto les sea de utilidad.

Saludos.

Categorías:.NET
  1. Mirage
    noviembre 25, 2009 a las 4:42 pm

    El aporte me sirvio mucho ya que cuando el DropDownList esta en un template de CreateUserWizard no reconoce el RequiredFieldValidator.

    Gracias

  2. Angela
    abril 16, 2010 a las 9:48 pm

    Muy claro y eficaz tu articulo me sirvio de mucha ayuda.Gracias🙂

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: