Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在asp.net中执行另一个页面_Asp.net - Fatal编程技术网

如何在asp.net中执行另一个页面

如何在asp.net中执行另一个页面,asp.net,Asp.net,我有一个页面需要从另一个页面多次调用。重要的是执行Page_Load方法。第一页包含此代码(第一页名称为Call.aspx): 这将调用另一个页面。它不执行另一个页面。我有以下代码来确保执行确认页面: Dim objWrite As New System.IO.StreamWriter("c:\aa.txt") objWrite.WriteLine("Hello") objWrite.Close() 但没有产出。有什么想法吗?这是干什么的 objWebClie

我有一个页面需要从另一个页面多次调用。重要的是执行Page_Load方法。第一页包含此代码(第一页名称为Call.aspx):

这将调用另一个页面。它不执行另一个页面。我有以下代码来确保执行确认页面:

 Dim objWrite As New System.IO.StreamWriter("c:\aa.txt")
        objWrite.WriteLine("Hello")
        objWrite.Close()
但没有产出。有什么想法吗?

这是干什么的

objWebClient.OpenRead("D:\confirm.aspx")
D:\
是对网址的引用吗?看起来您只是在调用文件本身,这不会产生您想要的效果。(暂时忽略位于驱动器根目录中的文件…)

ASPX页面本身不可执行。web服务器(通常是IIS)必须处理这些请求,并通过.NET运行时等传递这些请求,以便处理服务器端处理。文件本身只是文本,它没有解释服务器端代码的内部方法。这就是web服务器的用途

为了向web资源(页面或任何其他web资源)发出web请求,您需要使用web URL。类似于:
http://localhost/confirm.aspx
,因此该页面需要由web服务器提供服务

更重要的是,你不应该这样做。如果代码需要由两个页面共享,则应将该代码提取到共享组件中。一个“页面”永远不应该“调用另一个页面”(除非它们位于完全不同的服务器上,并且您需要更多的SOA方法)。这两个页面都应该调用一个共享组件(一个类,通常可能在它自己的程序集中,或者仅仅在包含页面的web项目中)


业务逻辑不在页面中。只有UI进入页面。共享业务逻辑放在业务类中。

听起来您可能会感兴趣。

您可以使用
HttpServerUtility.Execute
我有一个私有服务器,所以我用物理类调用这些命令path@amrswalha:这对你有用吗?不管您的服务器是否为“私有”服务器。重要的是,为了执行web资源,您需要调用web服务器。该服务器可以是本地主机,HTTP协议不关心这两种方式。但是需要使用某种web服务器来调用解释代码的ASP.NET服务器组件。否则,您只是试图执行一个文本文件。您是100%正确的。但是你认为我可以在计划任务中插入相同的代码吗?@amrswalha:你可以在任何应用程序上下文中执行业务逻辑。web应用程序、控制台应用程序(计划通过某些任务调度工具运行)、Windows服务、客户端应用程序等。这一切都取决于您实际尝试执行的操作,以及在体系结构上最有意义的解决方案。但是对于您的问题,是的,如果您在.NET中创建了一个共享组件(可能在它自己的项目/程序集中),那么任何类型的多个项目都可以引用该代码。非常感谢您的大力支持。
objWebClient.OpenRead("D:\confirm.aspx")