You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core MVC中不修改URL显示另一视图?

在ASP.NET Core MVC中实现不修改URL的视图切换

在ASP.NET Core MVC中,你完全可以沿用.NET Framework MVC里的方式,直接返回指定视图即可——这种方式不会修改地址栏的URL,因为是服务器端直接渲染目标视图并返回给客户端,而非重定向操作。

具体用法

直接使用View()方法指定视图名称和模型:

return View("目标视图名", 你的模型对象);

举个实际例子,假设你在HomeController的某个方法中,想要返回About视图并传递模型:

public IActionResult SomeAction()
{
    var model = new YourViewModel 
    {
        Title = "示例数据",
        Content = "这是传递给视图的内容"
    };
    // 返回About视图,地址栏URL保持当前请求的URL(比如/home/someaction)
    return View("About", model);
}

视图路径说明

  • 如果目标视图和当前控制器在同一个Views子文件夹下,直接写视图名称即可;
  • 如果视图在其他控制器的Views文件夹下,需要使用相对路径,比如:
    // 返回OtherController下的Test视图
    return View("../OtherController/Test", model);
    
  • 也可以使用完整的视图文件路径:
    return View("/Views/OtherController/Test.cshtml", model);
    

和重定向的区别

你找到的RedirectToPageResult属于重定向操作,它会向客户端返回302响应,让客户端重新发起对目标页面的请求,因此地址栏URL会改变;而直接返回View是服务器端直接渲染视图并返回,整个过程是一次请求响应,URL保持不变。

内容的提问来源于stack exchange,提问作者hiks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 11:25:17