Pessoa;
Estou com uma duvida no que diz respeito ao funcionamento do método ScriptManager.RegisterClientScriptBlock
Eu tenho um script simples que exibi um alert na tela dizendo qualquer coisa.
quando eu uso uma tag <script>runat="server">
e declaro o script dentro dela, usando o ScriptManager.RegisterClientScriptBlock, funciona corretamente, porem quando eu tento fazer isto server-side não funciona!
O código abaixo está executando corretamente, quando eu clico no botão que possui o ID="botaoQueFunciona"
o alerta executa corretamente, porem o botão com o ID="botaoQueNaoFunciona"
o script não é executado! Mesmo eu tendo o script declaro no server side. Segue meu código abaixo:
Código C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Aprender
{
public partial class Teste : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_PreRender(object sender, EventArgs e)
{
string scriptDois = @"
function Alerta()
{
alert('eu');
}
";
ScriptManager.RegisterClientScriptBlock(
this,
this.GetType(),
"ScriptDois",
scriptDois,
true);
}
}
}
Código asp:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_PreRender(object sender, EventArgs e)
{
string scriptDois = @"
function Alerta()
{
alert('eu');
}
";
ScriptManager.RegisterStartupScript(
this,
this.GetType(),
"ScriptDois",
scriptDois,
true);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>ScriptManager RegisterClientScriptInclude</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<br />
<asp:ScriptManager ID="ScriptManager1"
EnablePartialRendering="true"
runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1"
UpdateMode="Conditional"
runat="server">
<ContentTemplate>
<asp:Button ID="botaoQueFunciona" Text="Clique me" OnClientClick="Alerta()" runat="server" />
<asp:Button ID="botaoQueNaoFunciona" Text="Clique me server" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>
iptBlock