<rss version="2.0" xmlns:a10="http://www.w3.org/2005/Atom"><channel><title>Dicas Técnicas BufaloInfo</title><link>http://www.bufaloinfo.com.br/</link><description>Dicas Técnicas Produzidas pela Búfalo Informática</description><item><link>http://www.bufaloinfo.com.br/dicas.asp?cod=886</link><title>MS Ajax : Disparando um popUp por javascript</title><description>&lt;br&gt;O PopUpControlExtender funciona maravilhosamente bem quando &amp;#233; interligado com uma textBox, por exemplo. &amp;#201; uma verdadeira maravilha.&lt;br&gt;&lt;br&gt;Mas ser&amp;#225; que ningu&amp;#233;m pensou que na era da Web 2.0 iriamos desejar exibir popUps nos mais diversos eventos e situa&amp;#231;&amp;#245;es ?&lt;br&gt;&lt;br&gt;Isso pode ser feito, mas n&amp;#227;o ficou muito f&amp;#225;cil n&amp;#227;o. Para podermos exibir e esconder o popUp devemos utilizar o behavior do popUp em javaScript.&lt;br&gt;&lt;br&gt;Quando voc&amp;#234; insere o PopUpControlExtender e o liga com um target, uma das propriedades &amp;#233; o behaviorID. &amp;#201; com esse nome que vamos manipular o popup no javascript. Se esse nome n&amp;#227;o for preenchido, ser&amp;#225; usado o clientID do PopUpControlExtender.&lt;br&gt;&lt;br&gt;Veja o exemplo de duas fun&amp;#231;&amp;#245;es em javascript, uma para exibir outra para esconder o popup :&lt;br&gt;&lt;br&gt;     function exibirPopUp(pop)&lt;br&gt;     {&lt;br&gt;          var pop2=$find(pop)&lt;br&gt;          pop2._onFocus();&lt;br&gt;     }&lt;br&gt;     function esconderPopUp(pop)&lt;br&gt;     {&lt;br&gt;         var pop2=$find(pop)&lt;br&gt;          pop2.hidePopup();&lt;br&gt;     }&lt;br&gt;&lt;br&gt;&amp;#201; utilizada a instru&amp;#231;&amp;#227;o $find para localizar o behavior gerado pelo popUpControlExtender, ent&amp;#227;o podemos para exibir chamar o _onFocus() e para esconder chamar o hidePopup()&lt;br&gt;&lt;br&gt;Nesse caso o nome do popUp est&amp;#225; sendo recebido como par&amp;#226;metro. Inclui a chamada destas fun&amp;#231;&amp;#245;es no mouseOver e mouseOut das linhas de uma gridview, ou seja, conforme o usu&amp;#225;rio passar com o mouse sobre a linha, visualiza o popup.&lt;br&gt;&lt;br&gt;Veja como ficou o evento rowdataBound da gridview para fazer isso :&lt;br&gt;&lt;br&gt;    Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound&lt;br&gt;&lt;br&gt;        If e.Row.RowType = DataControlRowType.DataRow Then&lt;br&gt;            Dim s As String&lt;br&gt;            s = DirectCast(e.Row.FindControl(&amp;quot;popupcontrolextender1&amp;quot;), AjaxControlToolkit.PopupControlExtender).BehaviorID&lt;br&gt;&lt;br&gt;            e.Row.Attributes.Add(&amp;quot;onmouseover&amp;quot;, &amp;quot;exibirPopUp('&amp;quot; &amp;amp; s &amp;amp; &amp;quot;')&amp;quot;)&lt;br&gt;            e.Row.Attributes.Add(&amp;quot;onmouseout&amp;quot;, &amp;quot;esconderPopUp('&amp;quot; &amp;amp; s &amp;amp; &amp;quot;')&amp;quot;)&lt;br&gt;        End If&lt;br&gt;    End Sub&lt;br&gt;&lt;br&gt;Bem simples : Localizamos o popupControlExtender da linha, descobrimos qual ser&amp;#225; o seu behaviorID (configurar n&amp;#227;o adianta dentro de um container como a gridview) e incluimos as chamadas atrav&amp;#233;s do attributes.add&lt;br&gt;&lt;br&gt;</description></item></channel></rss>