使用PageAsyncTask在页面上调用javascript代码

时间:2011-12-12 07:37:14

标签: javascript asp.net asynchronous

我有两个ASPX页面(P1.aspxP2.aspx)。第一个(P1.aspx)包含许多JavaScript代码。 如何从其他页面调用所有这些JavaScript(P2.aspx)?

我尝试使用PageAsyncTask后面的代码中的P2.aspx执行此操作,但JavaScript代码(位于P1.aspx上)不起作用。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您要在页面上使用的所有JavaScript代码都必须包含在该页面中,或者由该页面动态加载。您无法调用仅在另一页中的代码。

在页面之间共享代码的常用方法是使.js文件包含包含在多个页面中的公共代码,然后是.js文件,其中包含每个特定页面唯一的代码(如果需要)

答案 1 :(得分:1)

你不能这样做。

将javascript放入JS文件中并在需要时引用它。

你能做什么(我认为)是获取文件的HTML内容然后提取JS数据

修改

试试(我不认为它会包含内部JS - 但是自己尝试一下)

WebRequest oRequest;
        WebResponse oResponse;

        oRequest = WebRequest.Create("http://www.google.com/");
        oResponse = oRequest.GetResponse();
        StreamReader sr = new StreamReader(oResponse.GetResponseStream());

        string pagedata = sr.ReadToEnd(); 

        pagedata+=@"sdfsdf";

答案 2 :(得分:0)

执行此操作的一种方法是<!--#INCLUDE FILE="somefile.aspx" -->但是您的aspx页面会抱怨只有一个'page'指令。因此,为了正确地执行此操作,您需要包含前面提到的aspx文件中的js文件。 一种方法是制作母版页并在其中包含所有必需的js代码,然后在母版页中加载的所有页面将自动继承包含javascript的库。 另一种方法是创建一个包含所有库的html文件,然后使用<!--#INCLUDE FILE="myjslibs.html" -->将所有代码包含在每个页面中。 因此,实际上将所有代码复制到一个文件中,然后每次只包含一个文件。