如何在不中断事件流的情况下从父ASP.Net页面调用/执行另一个ASP.net页面?

时间:2010-03-21 05:12:24

标签: asp.net

单击按钮/链接时,我希望调用此URL,然后执行以下语句。

ASP.Net页面位于C#btw。

Function A
   statement A
   call abc.apsx
   statement B

abc.aspx是一个静默页面,不会在页面上显示任何内容,但会创建一个output.txt文件。因此,当调用abc.aspx时,将创建output.txt文件并无缝地执行语句B.希望我有道理。

我没有.Net编程知识。请帮帮我。

谢谢..

3 个答案:

答案 0 :(得分:1)

您可以创建一个HttpWebRequest对象来调用abc.aspx页面

e.g。

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://host/abc.apsx");

或使用WebClient向网页发送请求。

   WebClient client = new WebClient ();

        // Add a user agent header in case the 
        // requested URI contains a query.
        // important to add user-agent to emulate a real request from browser. 
        client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");

        Stream data = client.OpenRead ("http://host/abc.apsx");
        StreamReader reader = new StreamReader (data);
        string s = reader.ReadToEnd ();
        Console.WriteLine (s);
        data.Close ();
        reader.Close ();

http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.80).aspx

答案 1 :(得分:1)

这正是HttpServerUtility.Execute的用途。

答案 2 :(得分:0)

为什么让abc.aspx充当独立页面?

从您的问题的读取方式来看,您的目标是获取Output.Txt文件,因此,为什么没有一个类将该output.txt文件构建为您的初始页面可以调用的单独对象?

然后,如果您需要用户可以访问它,请让abc.aspx也调用此类。

或者你可以使用codemeit建议的httpwebreques(如果abc.aspx在一个单独的域上,这可能是你最好的行动方案)