无法在ASP.NET cs页面中调用javascript函数

时间:2016-06-15 18:41:20

标签: javascript asp.net

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

<script>
    function ShowMessage() {
        alert("Hello World");
    }
</script>

我想在按钮点击事件的cs页面中使用此功能:

<asp:Button ID="MyButton" runat="server" Text="Click Here" OnClick="MyButton_Click" />

现在这段代码工作正常:

Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "alert('Hello World');", true);

但是这段代码不起作用:

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

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

3 个答案:

答案 0 :(得分:1)

您需要将ShowMessage()函数公开给您的DOM可以访问的范围。

您可以尝试:

window.ShowMessage = function() {
  alert("Hello World");
}

另一种选择是移动包含您的函数的<script></script> ABOVE 需要它的DOM元素:

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

</script>

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

答案 1 :(得分:1)

您可以使用onclientclick

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

答案 2 :(得分:0)

试试这个:

change

注意:对此代码使用JQuery并将其粘贴到HTML页面的末尾。

希望这会有所帮助