c# - 从 Web 表单重定向到 MVC 索引视图
问题描述
我有一个 MVC 应用程序托管多个 SSRS 报告,每个报告都在一个单独的 WebForm 上。这些报告都在 Home 文件夹中的 Index View 上捆绑在一起,我在其中获得了 href 链接以将用户定向到他们想要的报告。
现在的麻烦是我试图在这些 WebForms 上创建一个按钮,它将用户重定向回索引视图。我在 Stack Overflow 上搜索了指导,并提出了多个已检查的答案并试图尝试一下。但是,他们似乎都没有将我重定向到所需的页面。相反,他们只是将我重定向到我所在的同一页面。
我尝试了以下解决方案:
- 从 asp.net web 表单重定向到 mvc 4
- 将 MapPageRoute 添加到 asp.net mvc 项目后,站点停止进入 Home Controller
- 如何从 WebForms 重定向到 MVC 视图?
- 从 webform 重定向到 MVC ..getting 错误
在我看来,问题在于我的路由,但是,我仍然对路由 URL 的了解不够,无法解决这个问题。
对于上下文,这是我第一次编写 C# MVC 应用程序。我已经并且目前正在阅读网络上有关最佳实践等的文档和代码片段,但由于我的同事没有提供可用的指导,而且我的经验不足 2 周,因此很难理解该做什么和不该做什么。非常感谢任何帮助和提示!
重定向的一个示例是从 UserManagement.aspx (~/WebForms/IT/UserManagement.aspx) 页面到 Index.cshtml (~/Views/Home/Index.cshtml) 页面
这是我目前拥有的:
My RouteCongif.cs
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id =
UrlParameter.Optional });
}
UserManagement.aspx
<div>
<asp:Button ID="BackButton" runat="server" Text="Back" />
</div>
The BackButton_Click function in UserManagement.aspx.cs (CodeBehind)
protected void BackButton_Click(object sender, EventArgs e)
{
UrlHelper urlHelp = new
UrlHelper(HttpContext.Current.Request.RequestContext);
Response.Redirect(urlHelp.Action("Index", "Home"), false);
}
解决方案
在控制器中,您可以使用RedirectToAction或Return View("View Name")。从视图中将 javascript 写为window.location.href=/Controller/View on button click
推荐阅读
- javascript - jQuery 将页面重定向到作为页面反向代理的 URL?
- javascript - 如何在 JavaScript 等动态语言中实现延续?
- c# - 从字符串反序列化时使用 XmlSerializer.CanDeserialize()
- typescript - TypeScript Promise 定义通用语法
- c# - LINQ to List:指定的强制转换无效
- java - Java 套接字连接异常问题(连接超时)
- php - 当我单击按钮时,我试图根据电子邮件过滤器运行两个语句
- three.js - 你如何在three.js中找到两个向量之间的单角?
- sha256 - 文件和此文件内容的 SHA256 生成不同
- qiskit - 某些 Internet 页面上是否提供有关 IBM 量子设备上的量子位读取错误的当前信息?