我今天一直在将一个相当新的项目从 ViewPages 转移到 Razor,而且一切似乎进展顺利。除了我试图使用 Html.Action 来呈现用户控件并且它不会呈现任何东西。
所以我有一个在 Home/Index.cshtml 中引用的 Shared/_Layout.cshtml 文件
Index.cshtml 有以下内容:
<article>
@Html.Action("LatestBlogsMainPanelWidget", "Blogs")
...
</article>
我已经在 BlogsController 中设置了陷阱,所以我知道这是被请求的。我还知道一个模型正在返回,LatestBlogsMainPanelWidget 正在被视图引擎找到,甚至正在运行一些虚拟的 Razor 语法代码:@{ var s = "hello"; }
但是这个文件中的纯 html 并没有进入浏览器。我也尝试过其他(以前工作的)部分,它们也不会出现(查看页面上的源代码确认它不存在)。
我也尝试过替换 @{ Html.RenderAction(...); } 没有成功。@Html.Action 两边的 HTML 都出现了,所以我知道 Index.cshtml 显示正确。
更奇怪的是 _Layout 文件也有 Html.Action 命令,而且它们看起来确实不错。
我真的不确定还要检查什么,或者如何确认管道正在获取 HTML。任何人都可以提供帮助吗?
谢谢!