当我导航到ASP.NET MVC中的/ Controller / Action时,操作返回一个View并更新浏览器URL。如何保持URL完整但同时返回请求的视图?
例如,/ Home / Index将返回View for Index,而/ Home / SignUp将返回不同的View。我希望在两次调用之后确保URL保持不变。
答案 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");