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

时间:2014-04-24 05:11:22

标签: c# asp.net asp.net-mvc

情景是

  • PROJECT1
    WebForm1.aspx的

  • Project2的
    webform2.aspx

在按钮上单击webform1,它必须Response.Redirect()到webform2。 我添加了参考汇编但无法弄清楚如何传输。

如果我写

  

的Response.Redirect("〜/ Webform2.aspx&#34); //该行将抛出未找到的异常页

如何解决这个问题?

4 个答案:

答案 0 :(得分:2)

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

在开发过程中,他们最常以localhost开头,后跟端口号。现在,您的Project1并未了解Project2

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

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

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

因此,您必须手动对其进行硬编码。另外,您可以考虑通过从配置设置(web.config)

获取此值来使其动态化

答案 1 :(得分:0)

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

答案 2 :(得分:0)

正如你所说,你已经在Project1中添加了Project2的引用程序集,你在Project1中添加了所有的Projects2 dll,但是你在project1中添加了project2的aspx文件???

如果没有,则将Project2中的那些aspx文件添加到Project1,然后使用相对路径为

的重定向代码
Response.Redirect("~/Webform2.aspx");

答案 3 :(得分:0)

虽然看到了您的问题,但我希望您需要区分 Response.Redirect Server.Transfer

<强>的Response.Redirect();

在调用另一个网站上的网页时使用Response.Redirect();这在我们当前的项目中不存在。例如

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

<强> Server.Transfer的():

在调用当前网站上的网页时使用Response.Redirect();这是我们当前项目中的例子。例如

的Response.Redirect( “〜/ Webform2.aspx”);

它将自动获取当前项目网址并将其附加到网页。 即; http://www.localhost:6789.com/Webform2.aspx

示例:

项目1:
webpage1.aspx

webpage2.aspx

项目2:
webpage3.aspx

webpage4.aspx

如果您从webpage1重定向到webpage2使用

,请说您在project1中

Server.Transfer的(〜/ webpage2.aspx)

如果您想从网页1重定向到网页3,请使用

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

有关详情,请参阅:http://www.youtube.com/watch?v=xJVjRUHXYbE