gpt4 book ai didi

asp.net - 加载 ASP.net 页面时以编程方式运行 javascript 的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:53 26 4
gpt4 key购买 nike

在我的 global.asax我的 ASP.net 项目的文件,我正在检查某些条件。当满足这些条件时,我想在页面运行时自动执行 javascript 代码。

这是我的代码:

if condition Then
Response.Write(" < script type=""text/javascript"" > ")
Response.Write(" // Javascript code to do stuff ")
Response.Write(" < /script > ")
End If

虽然这似乎可以执行 Javascript 代码,但我认为这不是最佳做法,因为此代码将位于加载页面的 所有 HTML 之前。

以编程方式添加一些在我的页面加载时运行的额外 Javascript 代码的最佳方法是什么?

更新 感谢您的回答。太糟糕了,这个解决方案在 global.asax 中不起作用.有没有办法在整个站点范围内实现这一点?好像global.asax将是放置与每个页面一起运行的代码的合理位置... Response.Writeglobal.asax 中工作正常.

最佳答案

要正确管理来自服务器控件或页面的脚本放置,您应该使用 ClientScriptManager.RegisterStartupScript()

如果您在站点中使用 ajax 控件,您也可以在 ScriptManager 中使用等效方法:ScriptManager.RegisterStartupScript

这些方法负责将脚本输出到适当的位置,以便在文档加载完成时运行。发布的链接有一些很好的例子。

请注意,您不能直接从 global.asax 使用这些方法,因为它没有对当前页面的引用。 Global.asax 用于将事件挂接到 HttpApplication 管道,并与实际的 HttpHandler(例如您的 Page 对象)分离。为了保持 UI 的分离,您最好在母版页或某些基页类中进行检查,然后从那里输出脚本。

关于asp.net - 加载 ASP.net 页面时以编程方式运行 javascript 的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com