Pergunta

Eu estou tentando fazer a coisa mais simples, para mostrar um pop-up de alerta através de javascript do meu código-behind de um controle de usuário (ascx.cs).

Eu tentei

protected void btnSave_Click(object sender, EventArgs e)
{
    ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);
}

bem como

Page.ClientScript.RegisterStartupScript(GetType(), "uniqueID", "alert('hello');", true);

mas nada parece funcionar para mim. O controle está localizado dentro de uma RadAjaxPanel (telerik) em uma página ASPX.

Eu estou faltando algo óbvio aqui. Todas as idéias que?

EDIT: O javascript não é injetado em HTML, tanto quanto eu posso ver. Eu olho para o ID ea declaração de alerta real no html.

Foi útil?

Solução 2

Ah, o problema foi o Telerik RadAjaxPanel. Eu só tinha que definir as EnableOutsideScripts a verdade sobre eles, assim:

<telerik:RadAjaxPanel ID="ajaxpanel" runat="server" LoadingPanelID="ajaxLoadingPanel" EnableOutsideScripts="true">

E então eu poderia usar o seguinte código:

ScriptManager.RegisterStartupScript(btnSave, GetType(), "uniqueID", "alert('hello');", true);

Outras dicas

tipo de passagem de página para tipo de script de cliente parâmetro:

Page.ClientScript.RegisterClientScriptBlock(typeof(MyPage), 
    "myPostBackScript", script, true);

EDIT: Normalmente este código funciona, mas eu não sei como efeitos de controle de Telerik o script injetado. Eu acho que você deve abrir o código HTML da página e tentar encontrar script injetado. Isso vai nos ajudar a resolver o seu problema.

Você tem <form runat="server" em sua página?

você chama se de onClienClick evento do botão? o que quer controlar você está usando, certifique-se que você está chamando os js de um evento do lado do cliente

Além disso, dê uma olhada este de ideias

Editar

Você não pode chamar js do servidor, js é um script do lado do cliente. o que você pode fazer é registrar seu script depois de fazer toda a verificação, e amarrá-lo para onLoad evento. ver este SO questão para detalhes

EDIT2

o último post sobre este página

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top