【发布时间】:2011-05-23 16:03:33
【问题描述】:
我今天一直在将一个相当新的项目从 ViewPages 转移到 Razor,并且一切似乎进展顺利。除了我试图使用 Html.Action 来呈现用户控件并且它不会呈现任何东西。
所以我有一个在 Home/Index.cshtml 中引用的 Shared/_Layout.cshtml 文件
Index.cshtml 有以下内容:
<article>
@Html.Action("LatestBlogsMainPanelWidget", "Blogs")
...
</article>
我在 BlogsController 中设置了陷阱,所以我知道这是被请求的。我还知道一个模型正在返回,LatestBlogsMainPanelWidget 正在被视图引擎找到,甚至一些虚拟的 Razor 语法代码正在运行: @{ var s = "你好"; }
但是这个文件中的纯 html 并没有进入浏览器。我也尝试过其他(以前工作的)部分,它们也不会出现(查看页面上的源代码确认它不存在)。
我也尝试过替换 @{ Html.RenderAction(...); } 没有成功。 @Html.Action 两边的 HTML 都出现了,所以我知道 Index.cshtml 显示正常。
更奇怪的是,_Layout 文件也有 Html.Action 命令,而且它们确实看起来很好。
我真的不确定还要检查什么,或者如何确认管道正在获取 HTML。任何人都可以帮忙吗?
谢谢!
【问题讨论】:
-
该操作的视图是否位于正确的位置?没关系,我只看到了我要找的一行。
标签: asp.net-mvc-3 razor partials renderaction