【问题标题】:Calling ASP pages within ASP.NET site在 ASP.NET 站点中调用 ASP 页
【发布时间】:2011-10-24 14:43:45
【问题描述】:

场景:在 ASP.NET 网站上,我们有一个登录页面 (login.aspx)。

在 login.aspx.cs 中基于登录的人,有时我们需要重定向到一个 ASP 页面。目前这些 ASP 页面位于不同的站点(旧的 ASP 站点)上,但我想在 ASP.NET 站点中复制超过 3 个 ASP 页面。是否可以?我可以创建一个新的虚拟目录(或只是目录)并放置这些 ASP 页面吗?

我是否需要将这些 ASP 页面保留在它们所在的位置并从 ASP.NET 站点 (login.aspx.cs) 发出 Response.Redirect 到那个旧 ASP 站点?

请提出建议。

【问题讨论】:

    标签: asp.net response.redirect


    【解决方案1】:

    您的 .net 应用程序(我应该说)IIS 仍将执行 asp 经典页面,但是 asp.net 和 asp classic 不共享会话变量。对于我正在处理的类似情况的应用程序,我必须在将 asp.net 会话值转换为 asp classic 的页面之间写两个,反之亦然。

    【讨论】:

    • 我现在没有查看会话变量,我想我可能需要稍后再查看。我想复制 ASP 页面并在 ASP.NET 站点中调用。我对 ASP 页面所做的唯一更改是更改标题或图像。以下是我发布给 Jelle 的 cmets。谢谢。
    • 您确实关心会话。您正在谈论使用 login.aspx 页面。除非您设置不使用会话进行登录(我对此表示怀疑),否则如果您检查会话变量,asp 经典页面将不会认为用户已登录。意味着您的页面将不安全。您可能需要检查 IIS 设置以确保 asp 页面能够执行。
    • 感谢您的意见,我会考虑并检查。但与此同时,我尝试从 ASP.NET 站点重定向到 contactus.asp(静态 ASP 页面)。 contactus.asp 也被复制到 ASP.NET 站点中。但是,我收到错误消息说“不提供此类页面”。还有什么要注意的吗?
    • 我刚刚在我的一个 MVC 应用程序中尝试了一个 test.asp 页面,它工作得很好。您的 ASP 页面是否在任何其他网站上执行?如果您的contactus.asp 页面不关心用户是否登录,那么您不必担心会话。
    • 现在我得到“找不到页面”,而页面实际存在。这就是我所做的。我在名为 TEST 的 ASP.NET 项目下创建了新文件夹。在 Test 文件夹中,我复制了 Contactus.asp。然后我输入 login.aspx.cs Response.Redirect("~\\Test\\contactus.asp");。我得到“找不到页面”。然后我把contactus.pdf和重定向工作打开PDF文件。有没有其他方法可以将 ASP 文件复制到 ASP.NET 项目并调用 ASP 页?谢谢
    【解决方案2】:

    我不知道您是否可以重定向到您自己的应用程序/网站之外的页面,但您可以将页面从其他网站复制到您自己的网站。然后,您可以从您的登录页面重定向到您自己的应用程序/网站中的相应页面。如果您复制页面,最好将页面的旧命名空间更改为适合您自己的应用程序/网站的命名空间

    【讨论】:

    • 这就是我想要做的。我所做的是在我的 ASP.NET 中创建一个新文件夹作为“TestASP”,并从该 ASP 站点放置 3 个 ASP 页。然后我访问 login.aspx.cs 并向其中一个 ASP 页面(在 ASP.NET 站点内)发出了 response.redirect。但是我收到以下错误这种类型的页面不提供。说明:您请求的页面类型未提供服务,因为它已被明确禁止。扩展名“.asp”可能不正确。请检查下面的 URL 并确保其拼写正确。
    • 你试过用 .aspx 代替 .asp 吗?这是我目前唯一能想到的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多