0

当我在 ASP.NET MVC 中导航到 /Controller/Action 时,该操作会返回一个视图并且浏览器 URL 会更新。如何保持 URL 不变但同时返回请求的视图?

例如,/Home/Index 将返回索引视图,而 /Home/SignUp 将返回不同的视图。我想确保在两次通话之后,URL 保持不变。

4

3 回答 3

0

您可以通过执行以下几种方法来实现:

1.配置你的路由配置

 routes.MapRoute(
                name: null,
                url: "Home/FirstMethod",
                defaults: new { controller = "Home", action = "FirstMethod" }
            );

            routes.MapRoute(
                name: null,
                url: "Home/SecondMethod",
                defaults: new { controller = "Home", action = "FirstMethod" }
            );

2. 使用自定义 MVCTransferResult: 如何在 ASP.NET MVC 中模拟 Server.Transfer?

3.您可以明确指定视图,例如:

return View(viewName: "Contact");
于 2012-10-03T08:59:51.413 回答
0

您可以在控制器操作中明确指定要返回的视图:

return View("~/Views/SomeController/SomeView.cshtml");
于 2012-10-03T08:40:37.090 回答
0

这些将是 GET 调用,并且这种行为是内在的。

如果您想保持在同一个页面上,甚至有一个单页面应用程序,那么您需要考虑使用 ajax 和 http POST 来获得构建页面所需的不同视图。

于 2012-10-03T08:41:02.880 回答