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

标签 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);

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

最佳答案

您需要公开您的 ShowMessage()作用于您的 DOM 有权访问的范围。

你可以试试:

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

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

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

</script>

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

关于javascript - 无法在 ASP.NET cs 页面中调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843355/

相关文章:

javascript - 如何使用jquery检查属性为="admin_emal"的标签是否存在?

javascript - 使用客户端请求中以 JSON 格式传递的登录信息

javascript - valueBinding 到数组的内容

asp.net - ASP.NET VB.NET 中的动态 ID 名称

javascript - 如何在 Reactjs 中嵌入谷歌地图上的确切位置

c# - web.config 连接字符串在发布时更改

c# - post方法中ViewBag值变成null?

c# - 如何阻止某些 ip(用户)访问我的网站?

c# - 如何在asp.net 网站中向sql server 中插入数据?

javascript - 上传前获取文件列表