如何执行返回视图但在ASP.NET MVC中保持URL完整的控制器操作

时间:2012-10-03 08:37:12

标签: asp.net-mvc url controller action

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

例如,/ Home / Index将返回View for Index,而/ Home / SignUp将返回不同的View。我希望在两次调用之后确保URL保持不变。

3 个答案:

答案 0 :(得分:0)

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

return View("~/Views/SomeController/SomeView.cshtml");

答案 1 :(得分:0)

这些是GET调用,这种行为是固有的。

如果您希望保持同一页面或甚至拥有single page application,那么您需要考虑使用ajax和http POST来获取构建页面所需的不同视图。

答案 2 :(得分: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: How to simulate Server.Transfer in ASP.NET MVC?

第3。你可以明确地指定视图, 例如:

return View(viewName: "Contact");