无法注册启动脚本
Unable to register startup script
我在btn
Click
事件中使用以下代码:
ClientScript.RegisterStartupScript(typeof(Page), "exampleScript", "alert('you just registered the start up script');", true);
脚本在<body>
中注册,我没有收到任何警报。
注册启动脚本并获取此警报消息的方法是什么?
您在使用AJAX吗?
因此,每当页面上有ScriptManager实例时,都需要使用ScriptManager注册脚本。所以你需要像这个一样更改代码
ScriptManager.RegisterStartupScript(this, this.GetType(), "exampleScript", "alert('Hello');", true);
问题是在类似Page_Load()
的事件期间需要调用ClientScript.RegisterStartupScript
,而不是Button_Click。
这样,要执行代码,您需要对代码进行客户端Javascript调用
Page_Load()
{
ClientScript.RegisterStartupScript(typeof(Page), "exampleScript", "yourFunc();", true);
}
<asp:Button OnClientClick = "yourFunc()" .....
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx
试试这个:
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myKey", "alert('you just registered the start up script');", true);
我相信答案已经给出了,所以让我解释一下您在ASP.NET中有哪些选项。
ASP.NET提供了两种将JavaScript资源包含到页面中的方法。
-
ClientScriptManager(可通过Page.ClientScript访问)
-
ScriptManager和ScriptManagerProxy
第二个选项支持与第一个选项大致相同的功能,但也支持ASP.NET AJAX和WebService&脚本引用。如果你不使用任何额外的,那么通常我会选择第一个选项。
目前还不清楚你到底在使用什么,但如果你使用更新面板,那么你就必须使用第二个选项。
如果您想在按钮上执行脚本,请单击,然后不要使用ClientScript.RegisterStartupScript()
我建议你使用ClientScript.RegisterClientScriptBlock()
,而不是它附加了带有按钮客户端点击事件的JavaScript
ClientScript.RegisterClientScriptBlock(Page, typeof(Page),alert(' i am executed on button click'), true);
请参阅此
如果您想在每次页面加载时执行脚本,请使用ClientScript.RegisterStartupScript()
您还可以选择使用以下方法btn.Attributes.Add("onclick","<script>alert('hello alert')</script>");
在Page_Load()事件中,如果您希望使用页面上的按钮注册脚本,请加载
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 为什么我的控制器没有启动函数.js脚本
- 重新启动jquery脚本后,角度停止工作
- Chrome内容脚本制作cookie;chrome重新启动时,cookie会被删除.如何使其稳定
- 在呈现HTML样式和脚本时加载启动页
- Nodejs/bin/www脚本在启动时未运行
- .aspx页面JS将在控件似乎由于某种原因而被呈现之前启动Onload脚本
- 脚本工作,但永远不要启动它
- jQuery准备在自定义行为脚本初始化之前启动
- 启动脚本中的 GATE -Dgate.plugins.home 选项
- 简单的按钮以快速启动脚本
- 在 MVC4 中注册启动脚本
- 为什么Visual Studio Node.js项目使用shebang/bash脚本来启动服务器
- 使用本地存储启动或停止脚本
- 在 mysql 启动上运行一些脚本
- Wordpress jQuery 脚本不会在具有 jQuery.noConflict 用法的一个实例上启动
- 用于检查视频是否正在播放且未重新启动的脚本
- 为什么@require jQuery 会在具有 @run-at 文档启动的脚本中抛出错误
- 阻止父脚本启动
- 当我单击一个Fusion Tables层时,如何使该脚本启动