如何在asp.net中执行另一个页面
我有一个页面需要从另一个页面多次调用。重要的是执行Page_Load方法。第一页包含此代码(第一页名称为Call.aspx): 这将调用另一个页面。它不执行另一个页面。我有以下代码来确保执行确认页面:如何在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
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")