C# 如何在asp.net中重定向到另一个解决方案中的另一个页面?

C# 如何在asp.net中重定向到另一个解决方案中的另一个页面?,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,情况是 项目1 webform1.aspx 项目2 webform2.aspx 在webform1中单击按钮时,它必须响应。重定向()到webform2。 我已添加引用程序集,但无法确定如何传输 如果我写 Response.Redirect(“~/Webform2.aspx”);//该行将抛出未找到的异常页 如何解决这个问题?您可以尝试使用Response.Redirect(“Webform2.aspx”) 两个项目将作为两个不同的服务器运行 在开发过程中,它们通常以localhost开头,

情况是

  • 项目1
    webform1.aspx

  • 项目2
    webform2.aspx

在webform1中单击按钮时,它必须
响应。重定向()
到webform2。 我已添加引用程序集,但无法确定如何传输

如果我写

Response.Redirect(“~/Webform2.aspx”);//该行将抛出未找到的异常页


如何解决这个问题?

您可以尝试使用Response.Redirect(“Webform2.aspx”)

两个项目将作为两个不同的服务器运行

在开发过程中,它们通常以
localhost
开头,后跟端口号。现在您的
Project1
不知道
Project2

这意味着您必须在Response.Redirect调用中手动提供完整的url。假设您的
Project2
托管在
http://localhost:4545
。第二个web表单的url将是
http://localhost:4545/Webform2.aspx

因此,您的response.redirect调用将是

Response.Redirect("http://localhost:4545/Webform2.aspx");

因此,您必须手动硬编码它。否则,您可以考虑通过从配置设置(web.config)中获取此值使其成为动态的。

正如您所说,您已经在Project1中添加了Project2的参考程序集,您已经在Project1中添加了Project2的所有DLL,但是您在Project1中添加了Project2的aspx文件吗?

如果没有,则将这些aspx文件从Project2添加到Project1,然后使用重定向代码,相对路径如下所示

Response.Redirect("~/Webform2.aspx");

在看到您的问题时,我希望您需要了解响应.重定向服务器.传输

Response.Redirect()

Response.Redirect()用于调用其他网站中的网页,即;这在我们当前的项目中是不存在的

Response.Redirect("http://localhost:1234/Webform2.aspx");
Server.Transfer():

Response.Redirect()用于调用当前网站中的网页,即:;这在我们当前的项目中是存在的。例如

Response.Redirect("http://localhost:1234/Webform2.aspx");
重定向(“~/Webform2.aspx”)

它将自动获取当前项目url地址并将其附加到网页。 i、 e<代码>http://www.localhost:6789.com/Webform2.aspx

示例:

项目1:
网页1.aspx

网页2.aspx

项目2:
网页3.aspx

网页4.aspx

如果您从webpage1重定向到webpage2,则表示您在project1中使用

Server.Transfer(~/webpage.aspx)

如果要从webpage1重定向到webpage3,请使用

Response.redirect("http://localhost:1234/Webform2.aspx")

有关详细信息,请参见:

nops它与场景无关~符号将带它到根目录您是否尝试删除波浪号
~
符号并引用其他项目的完全限定地址。像
Response.Redirect(“/Project2/WebForm2.aspx”)
;看我的解释,你永远不会混淆这一点。如何使它充满活力?通过添加键和值?是的。你算出来了。:)