2015-04-14 3 views
0

Я работаю в VisualWebPart и хочу вызвать Javascript-метод из C#. Ниже мой код. Если я заменил myFunction(); на alert(), тогда появится предупреждение. Однако myFunction() не вызван. Я тоже пробовал с ScriptManager.RegisterStartUpScript, но не смог. Я отлаживался, и ошибок не было. Я что-то делаю неправильно?ScriptManager.RegisterClientScriptBlock не работает в Visual WebPart

<script type="text/javascript"> 

    function myFunction() { 
     alert('Function called successfully!'); 
    } 
</script> 

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 

c# 
protected void Button1_Click(object sender, EventArgs e) 
    { 
     ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "myFunction", "myFunction();", false); 
    } 

ответ

0

Включение сценария метки при вызове RegisterClientScriptBlock

Вот как: .aspx.cs

protected void Button1_Click(object sender, EventArgs e) 
    { 
     ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "myFunction", "myFunction();", true); 
    } 

.aspx

<head runat="server"> 
    <title></title> 

    <script type="text/javascript"> 

     function myFunction() { 
      alert('Function called successfully!'); 
     } 
    </script> 

</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /> 
    </div> 
    </form> 
</body> 

Предоставляя "истинный" в последний параметр заставит скрипт добавить теги «Script», тогда функция будет cal соответственно, со всеми валидациями.

Alert Msg

+0

Привет Сай, я сделал, но ни одно сообщение не отображается после нажатия кнопки. –

+0

@ Chintan.Desai, где вы разместили скрипт на странице .aspx? Разместите его под значком и попробуйте, он будет работать. –

+0

Я работаю в UserControl, поэтому не могу определить тег head и form, поскольку он уже определен на главной странице. –

Смежные вопросы