abrir nova janela

112 views
Skip to first unread message

Pedro Espíndola

unread,
Nov 6, 2009, 11:35:21 AM11/6/09
to dotn...@googlegroups.com
boa tarde...

como faço para abrir uma nova janela a partir de um botão do grid ?

abs
pen

daniel carli

unread,
Nov 6, 2009, 11:37:13 AM11/6/09
to dotn...@googlegroups.com
com javascript,
 
 
window.open('pagina', opções)

2009/11/6 Pedro Espíndola <pespi...@gmail.com>

Vinicius Quaiato

unread,
Nov 6, 2009, 11:37:52 AM11/6/09
to dotn...@googlegroups.com
windows, web?

Att,
Vinicius Quaiato.

Pedro Espíndola

unread,
Nov 6, 2009, 11:39:38 AM11/6/09
to dotn...@googlegroups.com
web... c#

2009/11/6 Vinicius Quaiato <vinicius...@gmail.com>:

daniel carli

unread,
Nov 6, 2009, 11:41:54 AM11/6/09
to dotn...@googlegroups.com

Pedro Espíndola

unread,
Nov 6, 2009, 11:46:27 AM11/6/09
to dotn...@googlegroups.com
quero abrir via c#

2009/11/6 daniel carli <dansa...@gmail.com>:

Vinicius Quaiato

unread,
Nov 6, 2009, 11:51:30 AM11/6/09
to dotn...@googlegroups.com
no botão coloca:

<asp:Button OnClientClick="javascript:window.open('suapagina.aspx')" id="seuid" runat="server" />

Att,
Vinicius Quaiato.

Hendrik Araujo

unread,
Nov 6, 2009, 11:54:37 AM11/6/09
to dotn...@googlegroups.com
Se estiver usando ajax:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "windows", "window.open('pagina', opções);", true);

sem ajax:

ClientScript.RegisterClientScriptBlock(this.GetType(), "windows", "window.open('pagina', opções);", true);

Pedro Espíndola

unread,
Nov 6, 2009, 11:55:52 AM11/6/09
to dotn...@googlegroups.com
Vinicius queria fazer isso dentro do aspx.cs pois tenho q fazer uns
testes e pegar outros dados de acordo com a linha q foi clicada...

2009/11/6 Vinicius Quaiato <vinicius...@gmail.com>:

Igor Loria Pinto

unread,
Nov 6, 2009, 11:57:02 AM11/6/09
to dotn...@googlegroups.com
response.redirect(nomedapagina.aspx)

abs

Vinicius Quaiato

unread,
Nov 6, 2009, 12:06:49 PM11/6/09
to dotn...@googlegroups.com
Pessoal, leiam o email que ele mandou:
"omo faço para abrir uma nova janela a partir de um botão do grid ?"

Pow, não saiam dizendo qualquer coisa! 

faz o seguinte Pedro:
No evento onrowdatabound do gridview faz assim:

var botao = e.Row.FindControl("nomeDoSeuBotao") as Button;
bottão.Attributes.Add("onclick","javascript:window.open('suapagina.aspx')");

só isso.

Att,
Vinicius Quaiato.

Diogo Miranda

unread,
Nov 6, 2009, 12:15:59 PM11/6/09
to dotn...@googlegroups.com
Ressaltando o que o Vini. apresentou....kkk...
 
Não esqueça de colocar o ";" no final da sintaxe Javascript.
 
var botao = e.Row.FindControl("nomeDoSeuBotao") as Button;
bottão.Attributes.Add("onclick","javascript:window.open('suapagina.aspx')
; ");
Abraço.
2009/11/6 Vinicius Quaiato <vinicius...@gmail.com>


--
Diogo A. Miranda
Analista e Desenvolvedor .NET
GIS Solutions
(11) 6325-6484

Vinicius Quaiato

unread,
Nov 6, 2009, 12:18:21 PM11/6/09
to dotn...@googlegroups.com
Boa!

2009/11/6 Diogo Miranda <dms...@gmail.com>

Diogo Miranda

unread,
Nov 6, 2009, 12:22:31 PM11/6/09
to dotn...@googlegroups.com
Cara,
 
Agora estou mais esperto.... hahahahaha....
 
Abraço.

Pedro Espíndola

unread,
Nov 6, 2009, 1:08:03 PM11/6/09
to dotn...@googlegroups.com
kkkkkkkkkkkkk
valeu pessoal, vcs são d+

abs
Pedro

2009/11/6 Diogo Miranda <dms...@gmail.com>:

Pedro Espíndola

unread,
Nov 6, 2009, 2:09:22 PM11/6/09
to dotn...@googlegroups.com
me desculpem, mas n ta dando certo....

protected void grvNomeTabela_RowDataBound(object sender,
GridViewRowEventArgs e)
{
var botao = e.Row.FindControl("Imprimir") as Button;
botao.Attributes.Add("OnClick",
"window.open('teste.aspx');"); //erro aqui

}


erro: object reference not set to an instance of an object.


2009/11/6 Pedro Espíndola <pespi...@gmail.com>:

Hendrik Araujo

unread,
Nov 6, 2009, 2:13:04 PM11/6/09
to dotn...@googlegroups.com
O erro está no seu FindControl, você tem que especificar a celula do grid.

protected void grvNomeTabela_RowDataBound(
object sender,
GridViewRowEventArgs e)
       {
           var botao = e.Row.Cells[0].FindControl("Imprimir") as Button;

Diogo Miranda

unread,
Nov 6, 2009, 2:13:57 PM11/6/09
to dotn...@googlegroups.com
Fala Pedro,
 
Tenta dessa forma:
 
protected void grvNomeTabela_RowDataBound(object sender, GridViewRowEventArgs e)
{
     var botao = e.Row.FindControl("Imprimir") as Button;
     botao.Attributes["onclick"] = "javascript:window.open('teste.aspx');";
}


erro: object reference not set to an instance of an object.


2009/11/6 Pedro Espíndola <pespi...@gmail.com>:
> kkkkkkkkkkkkk
> valeu pessoal, vcs são d+
>
> abs
> Pedro
>
> 2009/11/6 Diogo Miranda <dms...@gmail.com>:
>> Cara,
>>
>> Agora estou mais esperto.... hahahahaha....
>>
>> Abraço.
>> >>
>>
>

Diogo Miranda

unread,
Nov 6, 2009, 2:16:56 PM11/6/09
to dotn...@googlegroups.com
Tem razão Hendrik,
 
Quando o loop roda não encontra o controle button dentro do Gridview.
 
Pedro, dê uma olhada no nome do controle se está e correto e indica em qual cell você o colocou no templatefield.
 
Abraço!

2009/11/6 Hendrik Araujo <jhen...@gmail.com>

Vinicius Quaiato

unread,
Nov 6, 2009, 2:24:45 PM11/6/09
to dotn...@googlegroups.com
Exatamente... Me enganei quanto a isso... hehehehe...
 
Pedro, especifique o índice da célula onde está o seu botão.
 
Att,
Vinicius Quaiato.
2009/11/6 Hendrik Araujo <jhen...@gmail.com>

Pedro Espíndola

unread,
Nov 6, 2009, 2:26:21 PM11/6/09
to dotn...@googlegroups.com
amigos coloquei a posição da cell q contem o button mas n funcionou
(botao continua voltando NULL), estou de saida nesse instante, mas
assim q voltar vejo isso e retorno o resultado para vcs..desde ja
muito obrigado a todos...

2009/11/6 Vinicius Quaiato <vinicius...@gmail.com>:

Diogo Miranda

unread,
Nov 6, 2009, 2:33:53 PM11/6/09
to dotn...@googlegroups.com
Pedro,
 
Posta para gente a tag completa do gridview para analisarmos com mais clareza.
 
Abraço!

Pedro Espíndola

unread,
Nov 6, 2009, 6:20:57 PM11/6/09
to dotn...@googlegroups.com
<asp:GridView Width="980px" ID="grvNomeTabela" runat="server" SkinID="GridView"
AutoGenerateColumns="False" AllowPaging="True"
AllowSorting="True" Caption="Demonstrativo de boletos lançados"
CaptionAlign="Left"
OnRowCommand="grvNomeTabela_RowCommand"
OnRowDataBound="grvNomeTabela_RowDataBound"
onpageindexchanging="grvNomeTabela_PageIndexChanging" >
<Columns>
<asp:BoundField DataField="car_idcarne"
HeaderText="Carne" ItemStyle-Width="60px" />
<asp:BoundField DataField="ClienteServeLoja"
HeaderText="Cliente ServeLoja" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ClienteVinculado"
HeaderText="Cliente" HeaderStyle-HorizontalAlign="Left"
ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="car_vloriginal"
HeaderText="Valor original" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Right" ItemStyle-Width="90px" />
<asp:BoundField DataField="car_vlcorrecao"
HeaderText="Valor correção" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Right" ItemStyle-Width="90px" />
<asp:BoundField DataField="par_nrparcela"
HeaderText="Nº parcela" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="70px"/>
<asp:BoundField DataField="par_vlparcela"
HeaderText="Valor parcela" HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Right" ItemStyle-Width="90px"/>
<asp:BoundField DataField="par_dtvencimento"
HeaderText="Vencimento" DataFormatString="{0:d}"
HeaderStyle-HorizontalAlign="Center"
ItemStyle-HorizontalAlign="Center" ItemStyle-Width="80px"/>
<asp:ButtonField ButtonType="Button"
CommandName="Imprimir" Text="Imprimir" ItemStyle-Width="70px">
<ControlStyle CssClass="gvButtonFieldControlStyle" />
<ItemStyle CssClass="gvButtonFieldItemStyle" />
</asp:ButtonField>
</Columns>
<PagerStyle CssClass="gvPagerStyle"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
Wrap="False" />
</asp:GridView>





protected void grvNomeTabela_RowDataBound(object sender,
GridViewRowEventArgs e)
{
var botao = e.Row.Cells[8].FindControl("Imprimir") as Button;
botao.Attributes.Add("OnClick", "window.open('teste.aspx');");
//var botao = e.Row.FindControl("Imprimir") as Button;
//botao.Attributes["onclick"] =
"javascript:window.open('teste.aspx');";
}




abs
pen



2009/11/6 Diogo Miranda <dms...@gmail.com>:

Paulo Roberto Pellucci

unread,
Nov 6, 2009, 8:11:12 PM11/6/09
to dotn...@googlegroups.com
Opa, peraí, como seu <asp:Button não tem ID e nem runat=server? rs..
Esquisito, enfim, o seu código não está errado, seu botão está na célula 8, mas o método FindControl só irá encontrar pelo ID do objeto, no caso, teria que ser assim:

<asp:ButtonField ButtonType="Button" ID="Imprimir" runat="server"

CommandName="Imprimir" Text="Imprimir" ItemStyle-Width="70px">


--
Atenciosamente,
Paulo Roberto S. Pellucci

Pedro Espíndola

unread,
Nov 8, 2009, 7:30:55 PM11/8/09
to dotn...@googlegroups.com
amigo me corrija se eu estiver errado, mas o buttonfield não tem esses
atributos q vc sugeriu...o ID da erro e runat=server não da erro porém
não funciona...


2009/11/6 Paulo Roberto Pellucci <paulo.p...@gmail.com>:

João Carlos Tavares Souto

unread,
Nov 9, 2009, 6:08:23 AM11/9/09
to dotn...@googlegroups.com
Está certo, não tem não... é como se estes campos especiais surgiram
no framework 2.0 pra facilitar a vida, já que tudo era feito na base
do template. Mas já que você precisa manipular o botão, será que não
era o caso de usar um templatefield com um asp:button dentro? Aì sim
você terá o runat e o id setados. Usando o Buttonfield a única maneira
que eu vejo de tratar o botão é no onRowCommand do Grid, usando o
commandName do seu botão ("Imprimir")...

2009/11/8 Pedro Espíndola <pespi...@gmail.com>:
--
João Carlos Tavares Souto
(51)8105-5652

Kenny

unread,
Nov 9, 2009, 3:08:21 PM11/9/09
to DotNet Brasil
para funcionar vc tem q usar templateField em vez de ButtonField.

On 8 nov, 20:30, Pedro Espíndola <pespindo...@gmail.com> wrote:
> amigo me corrija se eu estiver errado, mas o buttonfield não tem esses
> atributos q vc sugeriu...o ID da erro e runat=server não da erro porém
> não funciona...
>
> 2009/11/6 Paulo Roberto Pellucci <paulo.pellu...@gmail.com>:
>
> > Opa, peraí, como seu <asp:Button não tem ID e nem runat=server? rs..
> > Esquisito, enfim, o seu código não está errado, seu botão está na célula 8,
> > mas o método FindControl só irá encontrar pelo ID do objeto, no caso, teria
> > que ser assim:
>
> > <asp:ButtonField ButtonType="Button" ID="Imprimir" runat="server"
> > CommandName="Imprimir" Text="Imprimir" ItemStyle-Width="70px">
>
> > On Fri, Nov 6, 2009 at 9:20 PM, Pedro Espíndola <pespindo...@gmail.com>
> >> 2009/11/6 Diogo Miranda <dmst...@gmail.com>:

Pedro Espíndola

unread,
Nov 12, 2009, 10:20:36 AM11/12/09
to dotn...@googlegroups.com
Funfou da seguinte forma:


asp:TemplateField ShowHeader="False" ItemStyle-Width="70px">
<ItemTemplate>
<asp:Button ID="btnImprimir" runat="server"
CausesValidation="false" CommandName="Imprimir" Text="Imprimir"
CssClass="gvButtonFieldControlStyle" />
</ItemTemplate>
</asp:TemplateField>


{

if (e.Row.RowType == DataControlRowType.DataRow)
{
Button _button = (Button)e.Row.FindControl("btnImprimir");
string carne;
string parcela;
if (_button != null)
{
carne = e.Row.Cells[0].Text;
parcela = e.Row.Cells[5].Text;
_button.Attributes.Add("onclick",
"javascript:window.open('../crediario/boleto/mostrar.aspx?carne=" +
carne + "&parcela=" + parcela + "');");
}
}
}




obrigado a todos pela força...
abs
pen

2009/11/9 Kenny <kenny...@gmail.com>:

Elói Junior

unread,
Nov 12, 2009, 10:33:27 AM11/12/09
to dotn...@googlegroups.com
class x
{


public static void Teste()
{
MessageBox("TESTE");
}
}




x.Teste();


Isso?






-----Mensagem original-----
De: dotn...@googlegroups.com [mailto:dotn...@googlegroups.com] Em nome
de Pedro Espíndola
Enviada em: quinta-feira, 12 de novembro de 2009 13:21
Para: dotn...@googlegroups.com
Assunto: [.Net - BR] Re: abrir nova janela

Pedro Espíndola

unread,
Nov 12, 2009, 1:00:26 PM11/12/09
to dotn...@googlegroups.com
da forma q coloquei funcionou...

2009/11/12 Elói Junior <elo...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages