【问题标题】:Redirect a user from a webforms vb app page to a mvc app page将用户从 webforms vb 应用页面重定向到 mvc 应用页面
【发布时间】:2016-08-09 18:01:49
【问题描述】:

我有一个 vb .net webforms 应用程序,并且在其中一个页面中我有一个链接,我想将其发送到我的解决方案中的 mvc 项目中的页面。

我在我的网络表单应用中继承了该项目,但我不知道从那里去哪里。

response.redirect("~/Home/Index")

这不起作用,因为 mvc 应用程序与链接所在的页面不在同一个项目中。

以下是应用程序的设置方式

SomeApplication.sln
 - Applications (solution folder)
     App1 (project - vb .net webforms app)
 - Components (solution folder)
     App2 (project - c# mvc app)

在 App1 中,我有一个页面,其中有一个链接可以转到 App2 中的页面。

我需要帮助。我尝试搜索文档无济于事。

谢谢

【问题讨论】:

    标签: asp.net-mvc webforms


    【解决方案1】:

    如果我理解正确,您想在 WebForms 页面中创建一个链接以导航到某个 MVC 页面,那么 - 当您运行解决方案时,您能否在浏览器中导航到所需的 MVC 页面(即localhost:xxxxx/home/index)? 如果可行,您就不能在您的 WebForms 页面中添加一个锚元素,并使用在浏览器中可以使用的地址吗?

    <a href="/home/index">To the MVC!</a>
    

    【讨论】:

    • 不,这不起作用,因为 MVC 页面的路径与 Webforms 的路径不同。当我这样做时,它正在寻找的“物理路径”是 C:\MyFolder\Branch\Applications\App1\Home\Index 而“物理路径”实际上是 C:\MyFolder\Branch\Components\App2\Home\Index .即使我输入 localhost:xxxxx/Components/App2/Home/Index 它仍然不起作用。感谢您的帮助。
    • 哦,看到你的回答我没有意识到当你运行解决方案时会发生什么是两个项目(WebForms 和 MVC)同时在不同的端口上启动 - 虽然现在看起来很明显。
    • 很好,很高兴您可以自己解决(不要忘记将您的答案标记为正确答案)。只是要注意一些您可能很清楚的事情 - 对所有带有 domain:port 段的重定向进行硬编码可能不是一个好主意(因为一旦部署可能会有所不同),而是通过变量传递它 -也许作为来自 web.config 的 appSetting 值,即:response.redirect(ConfigutaionManager.AppSettings["MvcDomain"] + "/home/index)
    【解决方案2】:

    找到了这个question,这是我以前在搜索中从未见过的,这让我开始思考。运行应用程序时,我决定查看正在运行的 IIS 端口。我们还有一个 Web 服务,它在不同的端口上运行。那时我注意到 MVC 应用程序 (App2) 也在运行……在第三个端口上。所以......我没有做response.redirect("localhost:11111/home/index)(Webforms App1 的端口),而是做了一个response.redirect("localhost:22222/home/index)(App2 的端口),并且成功了。

    【讨论】:

      猜你喜欢
      • 2011-12-25
      • 1970-01-01
      • 2010-09-07
      • 2011-08-08
      • 2011-09-24
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多