有没有一种方法可以在服务器端页面加载之前在加载时运行javascript

Is there a way to run javascript on load before server side pageload?

本文关键字:加载 javascript 运行 服务器端 一种 方法 有没有      更新时间:2023-09-26

在我的应用程序(asp.net-使用vb作为代码隐藏语言)中,服务器端(vb)页面加载代码首先运行,完成后运行javascript onload。有没有办法先运行javascript onload?我的javascript从父窗口(使用iframes)获取变量的值,并使用该值设置子窗口中的控件。页面加载处理控件集(如果来自父级的值是某个值,则会自动选中不同的复选框)。

我能想到的这个问题的唯一其他解决方案是,在运行另一个生成页面html的函数时,检查当前的值,看看这些框是否被选中。问题是,该函数是使用pagemethods从javascript调用的,需要共享,因此我无法在该函数开始时检查复选框是否被选中。谢谢你的帮助。

否,javascript总是在服务器完成向客户端发送响应后在客户端上运行。

您必须更改javascript才能针对生成的html运行。

问题的答案是否定的。

但是,如果我理解您要做什么,那么您希望根据服务器中的值修改控件。为什么不发送AJAX请求来获取该值,然后相应地更新控件呢。

话虽如此,你的应用程序的架构似乎有点混乱,所以如果你只需要一个手帕,也许你可以生成服务器值,在id或隐藏的输入元素中呈现它,然后用JS读取该值。

如果您只是使用它从父窗口获取值,您可以使用我以前使用过的一些变通方法。在父窗口中,您可以设置iframe的源,并在其上附加一个具有您的值的查询字符串。然后,在iframe中的页面中,您可以检查querystring以获取值,然后相应地检查复选框。

在load-pr prerender中,根据您何时设置所需的变量,您可以在主页面上放置类似iframeWhatever.Attributes.Add("src", "../filepath/page.aspx?ValueNeeded=" + ValueNeeded.ToString) 的内容

我非常确信,这将能够完成您目前正在尝试使用javascript完成的任务。