Faccruz 0 Denunciar post Postado Março 26, 2009 bom dia Como faço para abrir uma janela PopUp enviando uma string SQL? tentei fazer dessa forma Response.Write("<script language=""javascript"">window.open(Resultado.aspx?SQL=""" & strSQL & """, "", ""width=555, heigth=417"");</script>") Mas dá erro, onde está o erro? Aproveitando, como vou recuperar o SQL na janela aberta? Funciona dessa forma? Request("SQL") Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 26, 2009 Tentei fazer semelhante a esse tutorial mas não obtive sucesso. Qndo vou passar a string SQL para a PopUp, ele escreve na página principal e não abre a janela Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 27, 2009 De uma olhada no artigo, eu não dei response.write no window.open. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 27, 2009 De uma olhada no artigo, eu não dei response.write no window.open. Abraços... Realmente foi um erro meu. Mas como faço para chamar a função? tenho que incluir nos atributos do botão? E o código que já tenho nesse botão serão executados normalmente? Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 27, 2009 De uma olhada no artigo, eu não dei response.write no window.open. Abraços... Realmente foi um erro meu. Mas como faço para chamar a função? tenho que incluir nos atributos do botão? E o código que já tenho nesse botão serão executados normalmente? Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Março 27, 2009 Existem dois tipos de eventos que seu botão vai lançar: 1) Client-Side: o javascript que você adicionar na propriedade "onclientclick" do seu botão. 2) Server-Side: após executar o Client-Side, ele vai executar o server-side, que é o evento que você colocou no arquivo .cs. Você pode fazer assim, mais ou menos como foi feito no tutorial: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load btnSeuBotao.OnClientClick = "java script:window.open(Resultado.aspx?SQL=""" & strSQL & """, "", ""width=555, heigth=417"");" End Sub No seu caso acho que nem vai precisar criar o evento no Server-Side. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Março 27, 2009 Existem dois tipos de eventos que seu botão vai lançar: 1) Client-Side: o javascript que você adicionar na propriedade "onclientclick" do seu botão. 2) Server-Side: após executar o Client-Side, ele vai executar o server-side, que é o evento que você colocou no arquivo .cs. Você pode fazer assim, mais ou menos como foi feito no tutorial: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load btnSeuBotao.OnClientClick = "java script:window.open(Resultado.aspx?SQL=""" & strSQL & """, "", ""width=555, heigth=417"");" End Sub No seu caso acho que nem vai precisar criar o evento no Server-Side. Eu havia pensado nesse OnClientClick, mas ele carrega no onload da página e a string strSQL recebe valor só depois que clicar no botão Localizar Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 1, 2009 Ninguem nunca precisou abrir o resultado de uma pesquisa em PopUp? Encontro por aí como selecionar dados de um PopUp para a página principal. Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 1, 2009 A janela PopUp que você quer abrir, é no click do botão Localizar? Nesse botão você vai montar o comando SQL e mandar abrir a popup, é isso? Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 1, 2009 Exatamente isso, eu gero a SQL qndo clica no botão, o cliente já preencheu os dados necessarios para montar essa SQL Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 1, 2009 Então a maneira que você fez no início do tópico está certa. Qual o erro que está dando? Para montar o SQL, você precisa apenas pegar valores que estão em tela? Se sim, você pode fazer tudo isso no Client-Side (Javascript), assim você evita um postback desnecessário. Algo como: function mostraPesquisa() { var sql = ""// aqui você pega os valores dos campos da tela com JS. window.open("Resultado.aspx?SQL="+sql, "" , "width=555, heigth=417"); }E no botão: <asp:Button runat="server" ID="Pesquisar" OnClientClick="mostraPesquisa(); return false;"/> Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 1, 2009 Terei que codificar o que tenho no botão em JavaScript? Ou posso passar via parametros? Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 1, 2009 Fiz dessa maneira. Default.aspx Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load btnLocaliza.OnClientClick = "java script:MostraPesquisa('" & rbtnList.SelectedIndex & "', '" & edtCPF.Text & "', '" & edtNF.Text & "', '" & DropDownList1.SelectedIndex & "');" End Sub JScript function MostraPesquisa(Tipo, CPF, NF, Loja) { window.open('Cartelas.aspx?Param1=' + Tipo + '&Param2=' + CPF + '&Param3=' + NF + '&Param4=' + Loja + '', '', 'width=600, height=100'); } Cartelas.aspx (para verificar se esta certo) Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load MsgBox("Tipo: " & Request("Param1")) MsgBox("CPF: " & Request("Param2")) MsgBox("NF: " & Request("Param3")) MsgBox("Loja: " & Request("Param4")) End Sub Ele apenas traz o valor do Param1 e do Param4, o Param2 e Param3, que são TextBox não mostra o valor digitado. Esta correta a forma de envio? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 1, 2009 Ja verificou no método MostraPesquisa se os vaores estão alimentados? Por que aparentemente é isso mesmo, esta correto. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 1, 2009 Realmente os campos CPF e NF estão indo vazio para o script... já tentei dessa forma document.GetElementById('meu textbox').value no script, mas tbm não retorna nada. tem como pegar o valor desses textbox e enviar para o script? Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Abril 1, 2009 Acho que não entendeu minha pergunta, quando entra no método MostraPesquisa todos os parâmetros de entrada possuem valor? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 2, 2009 posuem sim Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 2, 2009 Na janela popup, clica com o botão direito nela e vai nas propriedas da página. Nessa tela de propriedades, vai ter a URL, veja como está, se os valores dos textbox estão aparecendo na URL. Compartilhar este post Link para o post Compartilhar em outros sites
Faccruz 0 Denunciar post Postado Abril 2, 2009 Ele está assim localhost:2631/Cartelas.aspx?Param1=0&Param2=&Param3=&Param4=0 não está passando os valores dos TEXTBOX para a função do JavaScript, já tentei de tudo Compartilhar este post Link para o post Compartilhar em outros sites
Oenning 0 Denunciar post Postado Abril 2, 2009 Usar javascript com ASP.NET é sempre um problema, infelizmente. Eu faria tudo com javascript, seria algo assim: function MostraPesquisa() { var CPF = document.GetElementById('<%= this.edtCPF.ClientId %>').value; var NF = document.GetElementById('<%= this.edtNF.ClientId %>').value; var Tipo = document.GetElementById('<%= this.rbtnList.ClientId %>').selectedIndex; var Loja = document.GetElementById('<%= this.DropDownList1.ClientId %>').selectedIndex; window.open('Cartelas.aspx?Param1=' + Tipo + '&Param2=' + CPF + '&Param3=' + NF + '&Param4=' + Loja + '', '', 'width=600, height=100'); } Compartilhar este post Link para o post Compartilhar em outros sites