none
DropDownList RRS feed

  • Pergunta

  • Alguem pode me ajudar? Estou utilizando um DropDownList para mostrar um campo de uma tabela SQLServer em um website criado com ASP.NET (VB Net). Como faço para, após a seleção do item no DropDownList, uma página correspondente à seleção seja aberta automaticamente, sendo que o endereço (URL) desta página está contido em um outro campo do mesmo registro na tabela.

    Ex: o usuário seleciona a cidade no DropDownList e a pagina contendo informações desta cidade deve ser aberta automaticamente.  Neste caso a tabela do SQL contém registros com os campos "Cidade" e "EnderecoURL"

    Grato

    sábado, 19 de fevereiro de 2011 17:23

Respostas

  • Oi,

    Código .aspx AutoPostBack para disparar o evento:

     

    <asp:DropDownList ID="ddlCidade" runat="server" AutoPostBack="true"
      onselectedindexchanged="ddlCidade_SelectedIndexChanged">
    </asp:DropDownList>
    

     

    criar o evento SelectedIndexChanged caso queira que após selecionar, seja redirecionado

     

    protected void ddlCidade_SelectedIndexChanged(object sender, EventArgs e)
    {
      string Url = ddlCidade.SelectedValue;
      Response.Redirect(Url);
    }
    

     


    Erysson Barros Blog de Erysson Barros Twitter de Erysson Barros
    (Salmos 128:1) - BEM-AVENTURADO aquele que teme ao SENHOR e anda nos seus caminhos.
    • Sugerido como Resposta Luiz Estevam domingo, 20 de fevereiro de 2011 05:02
    • Marcado como Resposta Harley Araujo quarta-feira, 23 de fevereiro de 2011 12:38
    sábado, 19 de fevereiro de 2011 21:01

Todas as Respostas

  • Tadeu, você pode colocar este outro campo (URL) na propriedade value da cada item adicionado então quando ocorrer a seleção você percorre o DropDownList em busca do valor do item selecionado, após capturado a URL você faz um "Response.Redirect" com a URL.

    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.dropdownlist.aspx

    Abraço

    Estevam


    **** Se a reposta foi útil, então não esqueça de marca-lá. ***
    sábado, 19 de fevereiro de 2011 18:07
  • Oi,

    Código .aspx AutoPostBack para disparar o evento:

     

    <asp:DropDownList ID="ddlCidade" runat="server" AutoPostBack="true"
      onselectedindexchanged="ddlCidade_SelectedIndexChanged">
    </asp:DropDownList>
    

     

    criar o evento SelectedIndexChanged caso queira que após selecionar, seja redirecionado

     

    protected void ddlCidade_SelectedIndexChanged(object sender, EventArgs e)
    {
      string Url = ddlCidade.SelectedValue;
      Response.Redirect(Url);
    }
    

     


    Erysson Barros Blog de Erysson Barros Twitter de Erysson Barros
    (Salmos 128:1) - BEM-AVENTURADO aquele que teme ao SENHOR e anda nos seus caminhos.
    • Sugerido como Resposta Luiz Estevam domingo, 20 de fevereiro de 2011 05:02
    • Marcado como Resposta Harley Araujo quarta-feira, 23 de fevereiro de 2011 12:38
    sábado, 19 de fevereiro de 2011 21:01
  • Pessoal

    Agradeço a todos, mas o problema continua. Lembro que estou desenvolvendo em ASP.NET com VB e estou utilizando a plataforma Microsoft Visual Web Developer 008 Express Edition. Éu fiz o seguinte:

     

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"

     

    DataSourceID="SqlDataSource1" DataTextField="Nome" DataValueField="URL" >

     

    </asp:DropDownList>

     

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" >GO

     

     

    </asp:LinkButton>

    O evento OnClick do LinkButton está assim (no defautl.aspx.vb):

    Partial

     

    Class _Default

     

    Inherits System.Web.UI.Page

     

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click

    Response.Write(DropDownList1.SelectedValue.ToString)

     

    End Sub

    End

     

    Class

     

     

     

     

     

     

    Eu utilizei o comando Write para ver o que o OnClick está tranzendo. Ele traz o dado correto, mas em dobro. Ex: http://www.microsoft.com http://microsoft.com

    Alguém pode me ajudar?

    Grato.

    quinta-feira, 24 de fevereiro de 2011 18:37