none
Como Dar Refresh na Página inteira, com tempos selecionado pelo usuario em uma Drop Down List.? RRS feed

  • Pergunta

  • Boa Noite,

    Sou Novo no Forum e na Linguagem ASP.NET Com  C#, apesar de acompanhar e resolver diversos problemas em asp.net e C#, com as dicas de Vocês..

    Eu estou com um problema, e se puderem me ajudar ficarei muito grato. Ai vai:

    1 - Tenho uma Aplicação(Sistema de Rastreamento) que Usa mapa do google e a api V3, e esta mesma pegas valores de Lat e Long, atraves de uma pagina XML_busca_dados.aspx que se conecta a um banco gera um Xml com as posições e Mostra no google em formato de marcador. e para que o marcador mude de lugar de acordo com as informações que vao mudando no banco é necessário que seja dado um Refresh Completo na pagina, por causa que os codigos da API do Google estão entra a Tag <SCRIPT></SCRIPT>, desta forma e atualizado e da a impressão de o marcador esta andando no mapa.. Só pra vcs entenderem qual o mecanismo..

    Bom ai vai minha dúvida, Eu ja tentei de tudo que consegui imaginar e fazer( UpdatePanel, Javascript, Jquery ) mas não consegui fazer, com que o Usuario selecionasse atraves de uma dropdownList os seguintes valores de Tempo: 30Seg, 01 Min, 2Min e por ai vai.. desta forma ele consegue selecionar o tempo que ele quer que a página fique dando Refresh.. Então, resolvi pedir ajuda a vocês que possuem mais experiencia.

    Preciso que a pagina fique dando refresh na página inteira de acordo com o tempo selecionado.. 

    Pode me ajudar?

    Obrigado, Rodrigo Galhardo

    terça-feira, 29 de maio de 2012 23:58

Respostas

  • voce tem algum codigo no FORM_LOAD? Testei aqui funcionou

    altera

    <asp:DropDownList ID="DDL_Atualiza" runat="server" AutoPostBack="True" 
                             onselectedindexchanged="DropDownList1_SelectedIndexChanged" Height="23px">
                             <asp:ListItem Value="10000">Selecione Um Tempo</asp:ListItem>
                             <asp:ListItem Value="60000">01:00 Min</asp:ListItem>
                             <asp:ListItem Value="120000">02:00 Min</asp:ListItem>
                             <asp:ListItem Value="300000">05:00 Min</asp:ListItem>
                             <asp:ListItem Value="600000">10:00 Min</asp:ListItem>
                            </asp:DropDownList>

    seleciona um tempo vai ser um padrao

    quarta-feira, 30 de maio de 2012 02:05
    Moderador
  • Rodrigo Voce Testou com todos os valores da combobox? o que tava ocorrendo o primeiro valor da combobox na primeira vez que rodava nao dava refresh, ai voce selecionava o segundo valor funciona, quando selecionar o primeiro de novo vai funcionar.

    quarta-feira, 30 de maio de 2012 12:19
    Moderador

Todas as Respostas

  • boa noite Rodrigo, Já tentou usar o TIMER do Ajax? vai exemplo ,

    <body>
         <form id="form1" runat="server">  
         
         <asp:ScriptManager ID="ScriptManager1" runat="server">
         </asp:ScriptManager>
        
         <asp:Timer ID="Timer1" runat="server" Interval="10000">
         </asp:Timer>
         
         <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 
             onselectedindexchanged="DropDownList1_SelectedIndexChanged">
             <asp:ListItem Value="1"></asp:ListItem>
             <asp:ListItem Value="10"></asp:ListItem>
             <asp:ListItem Value="1000"></asp:ListItem>
             <asp:ListItem Value="5000"></asp:ListItem>
         </asp:DropDownList>
         
         </form>    
        </body>

    seu CODEBEHIND

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                Timer1.Interval =Convert.ToInt32( DropDownList1.SelectedValue);
            }

    ok ele de inicio vai atualizar de 1 em um segundo, apos selecionar no combobox dispara evento

    DropDownList1_SelectedIndexChanged

     que altera o valor do timer1. e continua atualizando. qualquer coisa posta ai de novo.

    att.


    quarta-feira, 30 de maio de 2012 00:12
    Moderador
  • E ai WellingtonJR.. blz..

    Entao eu acabei de testar.. e tem um problema.. 

    Eu setei no Timer para comecar com um padrao de 10 segundos, e quando eu selecionasse um valor ele mudaria.. só que nao acontece isso..

    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
         </asp:ScriptManager>
         <asp:Timer ID="Timer1" runat="server" Interval="10000">
         </asp:Timer>

    Eu tambem setei da DropDown os valores:

    <asp:DropDownList ID="DDL_Atualiza" runat="server" AutoPostBack="True" 
                             onselectedindexchanged="DropDownList1_SelectedIndexChanged" Height="23px">
                             <asp:ListItem Value="60000">01:00 Min</asp:ListItem>
                             <asp:ListItem Value="120000">02:00 Min</asp:ListItem>
                             <asp:ListItem Value="300000">05:00 Min</asp:ListItem>
                             <asp:ListItem Value="600000">10:00 Min</asp:ListItem>
                            </asp:DropDownList>

    Code Behind

     protected void DDL_Atualiza_SelectedIndexChanged(object sender, EventArgs e)
        {
            Timer1.Interval = Convert.ToInt32(DDL_Atualiza.SelectedValue);
        }

    ...

    Ele não seta os valores selecionados pelo timer.. 

    pois quado ele faz o refresh na pagina ao selecionar no drop down ele volta para o valor inicial...

    Como resolveria isso??

    Obrigado.

    Rodrigo.. 

    quarta-feira, 30 de maio de 2012 01:36
  • voce tem algum codigo no FORM_LOAD? Testei aqui funcionou

    altera

    <asp:DropDownList ID="DDL_Atualiza" runat="server" AutoPostBack="True" 
                             onselectedindexchanged="DropDownList1_SelectedIndexChanged" Height="23px">
                             <asp:ListItem Value="10000">Selecione Um Tempo</asp:ListItem>
                             <asp:ListItem Value="60000">01:00 Min</asp:ListItem>
                             <asp:ListItem Value="120000">02:00 Min</asp:ListItem>
                             <asp:ListItem Value="300000">05:00 Min</asp:ListItem>
                             <asp:ListItem Value="600000">10:00 Min</asp:ListItem>
                            </asp:DropDownList>

    seleciona um tempo vai ser um padrao

    quarta-feira, 30 de maio de 2012 02:05
    Moderador
  • Segue o codigo do form load.. o que poderia atrapalhar o forma load.. , Eu uso outro drop down list que é populado pelo banco..

    using System;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;
    using System.Data.Odbc;

    public partial class Admin_Admin : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            
                        
            if (!IsPostBack)
            {
                //SETANDO AS PERMISSÕES

                if (Session["ID_CLIENTE"] == null)
                {
                    Response.Redirect("Login.aspx");
                }

                string stringSql = "";

                string strConnection = "Driver=MySQL ODBC 3.51 Driver; Server=; Database=#####; Uid=###; PWD=####";

                stringSql = "select NUM_SERIE, MODELO from EQUIPAMENTOS where IDCLIENTE = " + Session["ID_CLIENTE"];

                OdbcConnection ConexaoBanco = new OdbcConnection(strConnection);
                OdbcCommand cmd = new OdbcCommand(stringSql, ConexaoBanco);
                ConexaoBanco.Open();
                OdbcDataReader tabDados = cmd.ExecuteReader();

              
                cboRastreador.DataSource = tabDados;
                cboRastreador.DataValueField = "NUM_SERIE";
                cboRastreador.DataTextField = "MODELO";
                cboRastreador.DataBind();
                cboRastreador.Items.Insert(0, "Escolha o Rastreador");
                cboRastreador.Items.Insert(1, "Visualizar Todos");

                ConexaoBanco.Close();
                tabDados.Close();
            }
        }

       
        protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (cboRastreador.SelectedIndex <= 1)
            {
                Session["EQUIPAMENTO"] = "";
            }

            else
            {
                Session["EQUIPAMENTO"] = cboRastreador.SelectedValue;
            }

            Response.Redirect("Default.aspx");

        }

    protectedvoidDDLAtualiza_SelectedIndexChanged(objectsender, EventArgse)

        {

            Timer1.Interval = Convert.ToInt32(DDL_Atualiza.SelectedValue);

        }

    }

    quarta-feira, 30 de maio de 2012 11:34
  • Tem alguma forma de eu saber mais exata, com um contador decrescente ou algo do tipo? que controle ou mostre o tempo da atualização do timer?

    Obrigado

    quarta-feira, 30 de maio de 2012 11:42
  • Rodrigo Voce Testou com todos os valores da combobox? o que tava ocorrendo o primeiro valor da combobox na primeira vez que rodava nao dava refresh, ai voce selecionava o segundo valor funciona, quando selecionar o primeiro de novo vai funcionar.

    quarta-feira, 30 de maio de 2012 12:19
    Moderador
  • Ok, deu certo, é exatamente isso que voce falou.. Vc salvou minha Vida.. rsrsrs

    Obbrigado,

    quarta-feira, 30 de maio de 2012 14:20