Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Faccruz

[Resolvido] Passar SQL para janela Pop Up

Recommended Posts

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

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

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

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.