Em meu Datagrid eu tenho uma coluna HyperLinkColumn. Sempre que um usuário clicar nela, uma janela pop-up se abrirá com um conteúdo relativo ao link.
Isto parece fácil exceto por um problema: Uma janela extra se abre com o texto: [object].
Este é o código que cria a coluna Hyperlink:
HyperLinkColumn col3 = new HyperLinkColumn();
col3.DataNavigateUrlFormatString = javascript:window.open('detalhe.aspx?id={0}'','','width=640;height=480;
scrollbars=1; resizable=1');"
col3.DataTextField = "Produto";
col3.DataNavigateUrlField = "CodProduto";
grid1.Columns.Add(col3);
O objeto Hyperlink instrui ao browser para avaliar a expressão e trocar a pagina corrente pelo seu resultado, a menos que esse resultado seja void.
O valor retornado por window.open é um objeto, cuja representação string é a palavra [object].
Para se livrar deste efeito colateral, certifique-se que a expressão avaliada resulta em void
Aqui segue o que eu fiz para evitar este problema:
Na página aspx:
<SCRIPT LANGUAGE="JavaScript">
<!--
void function popUp(URL)
{
window.open(URL, 'detalhe', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=700,height=500,left=10,top=10');
}
// -->
</script>
no code-behind, mudei a linha para:
col3.DataNavigateUrlFormatString = "javascript:popUp('detalhe.aspx?id={0}');";
www.cinquini.com.br/vcinquini>". Hoje, vai saber...
0 comentários:
Postar um comentário