Can';t在ASP.NET cs页面中调用javascript函数

Can';t在ASP.NET cs页面中调用javascript函数,javascript,asp.net,Javascript,Asp.net,我的aspx页面中有以下JavaScript函数: <script> function ShowMessage() { alert("Hello World"); } </script> 但该代码不起作用: Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "ShowMessage();", true); 我的代码出了什么问题?可能的原因是什么?您需要

我的aspx页面中有以下JavaScript函数:

<script>
    function ShowMessage() {
        alert("Hello World");
    }
</script>
但该代码不起作用:

Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "ShowMessage();", true);

我的代码出了什么问题?可能的原因是什么?

您需要将
ShowMessage()
函数公开到您的DOM有权访问的作用域中

您可以尝试:

window.ShowMessage = function() {
  alert("Hello World");
}
另一个选项是将包含函数的
移动到需要它的DOM元素之上:

<script>
  function Foo() {
    alert('Bar');
  }

</script>

<button onclick="Foo()"></button>

函数Foo(){
警报(“条”);
}
试试这个:

<script>
    $('#idOfButton').click(
        function() {
            alert("Hello World"); 
        }
    );
</script>

$(“#idOfButton”)。单击(
函数(){
警报(“你好世界”);
}
);
注意:对该代码使用JQuery,并将其粘贴到HTML页面的末尾


希望这将对您有所帮助

您可以使用onclientclick

<asp:Button ID="MyButton" runat="server" Text="Click Here" onclientclick="ShowMessage()" />


您遇到了什么错误?请检查浏览器中的源html以检查文件是否具有ShowMessage功能。我检查了页面源,在页面中找到了我的功能。请使用页面源更新问题。使用浏览器的开发工具查看javascript控制台。这里提到的任何错误?OP可能需要一个服务器端事件,以便在该消息显示之前执行某些服务器代码。OP可能需要一个服务器端事件,以便在该消息显示之前执行某些服务器代码。
<script>
    $('#idOfButton').click(
        function() {
            alert("Hello World"); 
        }
    );
</script>
<asp:Button ID="MyButton" runat="server" Text="Click Here" onclientclick="ShowMessage()" />