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

ASP.NET Core 2视图链接失效求助:拖放Contact视图至About视图后异常

解决Razor视图复用的问题

嘿,我明白你现在的困扰——学了不少ASP.NET Core 2和Razor相关教程,但遇到这种看似简单的视图复用问题卡壳确实让人头疼。你直接把Contact.cshtml拖放到About.cshtml里的方式其实不太合适,因为每个独立视图通常都带有自己的布局配置、ViewData设置,直接合并很容易导致页面结构混乱或者数据冲突。

下面给你说下正确的解决思路:

步骤1:将Contact视图转为部分视图(Partial View)

部分视图是Razor中用来复用视图片段的最佳方式,它不需要完整的页面布局,只保留核心的展示内容:

  • 打开你的Contact.cshtml,复制里面的核心内容(比如联系表单、联系信息这些),去掉顶部的@{ ViewData["Title"] = "Contact"; }或者@{ Layout = "_Layout"; }这类和页面框架相关的代码
  • 在你的项目Views/Shared文件夹下新建一个名为_ContactPartial.cshtml的文件(行业惯例用下划线开头标识部分视图),把刚才复制的核心内容粘贴进去

步骤2:在About视图中引用部分视图

打开你的About.cshtml,在需要显示联系内容的位置,添加这行代码:

@await Html.PartialAsync("_ContactPartial")

如果你的联系部分需要接收数据(比如从About页面传递一些参数),还可以通过模型传值:

// 假设你已经实例化了一个ContactViewModel对象
@await Html.PartialAsync("_ContactPartial", contactViewModel)

额外提示

如果你之前拖放后自动生成了多余的代码(比如重复的ViewData设置、页面标题标签),记得把这些冗余内容删掉,只保留About页面本身的内容,再用上面的部分视图方式引用联系模块,这样页面结构会更清晰,也符合Razor的开发规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:55:26