在 UserControl 内部使用 Server.Transfer 会出现文件未找到异常

发布于 2024-10-25 17:07:09 字数 384 浏览 5 评论 0原文

我已经尝试了几乎所有我能想到的相对路径,但没有一个有效。

Server.Transfer("/contact-us.aspx");
Server.Transfer("./contact-us.aspx");
Server.Transfer("~/contact-us.aspx");
Server.Transfer("contact-us.aspx");

我很确定这与我位于 ascx UserControl 内这一事实有关。我总是收到“该文件(我的文件)不存在。”

编辑:

此外,contact-us.aspx 不是物理文件。我正在使用 Sitecore,这是应用程序内的虚拟路径,并且应用程序知道如何解析 URL。

I've tried just about every relative path that I can think of, and none of them work.

Server.Transfer("/contact-us.aspx");
Server.Transfer("./contact-us.aspx");
Server.Transfer("~/contact-us.aspx");
Server.Transfer("contact-us.aspx");

I'm pretty sure this has to do with the fact that I'm inside of an ascx UserControl. I always get "The file (my file) does not exist."

EDIT:

Also, contact-us.aspx is not a physical file. I'm using Sitecore, and this is a virtual path within the application, and the application knows how to resolve the URL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以歌曲疗慰 2024-11-01 17:07:09

语法正确,因此 SiteCore 引擎中的 HTTPHandler / URL 重定向可能存在问题。

尝试使用 Response.Redirect 并使用重载版本来停止所有进一步的页面处理;

Response.Redirect("~/contact-us.aspx", true);

The syntax is correct so there's likely to be a problem with the HTTPHandler / URL redirection in the SiteCore engine.

Try using Response.Redirect instead and use the overloaded version to cease all further page processing;

Response.Redirect("~/contact-us.aspx", true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文