我今天一直在将一个相当新的项目从 ViewPages 转移到 Razor,一切似乎都很顺利。除了我尝试使用 Html.Action 来呈现用户控件并且它不会呈现任何内容。
所以我有一个在 Home/Index.cshtml 中引用的 Shared/_Layout.cshtml 文件
Index.cshtml 有以下内容:
<article>
@Html.Action("LatestBlogsMainPanelWidget", "Blogs")
...
</article>
我已经在 BlogsController 中放置了陷阱,所以我知道这是被请求的。我还知道正在返回一个模型, View 引擎正在找到 LatestBlogsMainPanelWidget,甚至正在运行一些虚拟的 Razor 语法代码:
@{
var s = "你好";
}
但是这个文件中的纯 html 没有进入浏览器。我也尝试过其他(以前工作过的)部分,它们也不会出现(查看页面上的源代码确认它不存在)。
我也试过代替
@{ Html.RenderAction(...); } 没有成功。 @Html.Action 两侧的 HTML 都出现了,所以我知道 Index.cshtml 显示正确。
更奇怪的是 _Layout 文件也有 Html.Action 命令,它们 做 看起来很好。
我真的不知道还有什么要检查的,或者如何确认管道正在获取 HTML。任何人都可以帮忙吗?
谢谢!
最佳答案
在局部 View 上放置一个 Layout = null ,它会正常工作。
关于asp.net-mvc-3 - Asp.Net MVC 3 - @Html.Action 不会呈现/返回任何 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4412197/