【问题标题】:How to Server.Transfer from a standalone page?如何从独立页面进行 Server.Transfer?
【发布时间】:2012-11-29 19:35:28
【问题描述】:

我在网站的文件夹中有一个页面,我想从域根目录Server.Transfer 到它。我尝试向根目录添加一个页面,其中包含:

Server.Transfer("~/folder1/default.aspx");

但我收到 500 错误。我也试过了

Server.Transfer("/folder1/default.aspx");

同样的结果。 但是当我尝试Server.Transfer("default2.aspx"); - 根目录中的另一个页面时,它起作用了。

那么如何转移到我要转移到的页面呢?

编辑:folder1 是一个 Web 应用程序 (Asp.net) - 这有关系吗?

【问题讨论】:

    标签: asp.net asp.net-4.0


    【解决方案1】:

    是的 - 重要的是,folder1 本身就是一个单独的应用程序。

    Server.Transfer 仅适用于您自己的 ASP.NET 应用程序中的传输,因为它直接实例化目标页面并从调用它的位置发回响应。它无法跨应用程序执行此操作。

    您最好执行一个简单的Response.Redirect 到/folder1/default.aspx 页面,而不是在那里传输。

    编辑:在 Default.aspx (root) 的 Page_Load 中,添加

    Response.Redirect("/folder1/Default.aspx");
    

    【讨论】:

    • 谢谢。不幸的是,这对用户来说有延迟。见我的另一个问题stackoverflow.com/questions/13630820/…
    • IIS 重定向不同。 Response.Redirect 是您将从根目录中 Default.aspx 的代码隐藏发送的内容。所以在root的Default.aspx的Page_Load事件中,做一个Response.Redirect。
    • 谢谢。我不知道。
    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 2014-01-09
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多