[英]Page not displaying using @Html.RenderAction in MVC4
我的问题是,当我在布局中使用@ Html.RenderAction或@ Html.Action并从Controller页面调用Action方法时,根本没有显示。 但是当我在布局中使用静态属性时,一切正常。
布局:
<li>
<a href="#"><i class="fa fa-fw"></i> Category<span class="fa arrow"> </span></a>
<ul class="nav nav-second-level">
@{
Html.RenderAction("Category","Home");
}
</ul>
</li>
动作方法:
public ActionResult Category()
{
int memberId = WebSecurity.GetUserId(User.Identity.Name);
return PartialView("_Categories", _db.Query<Category>().ToList().Where(u => u.UserId == memberId));
}
PartialView:
@model IEnumerable<PasswordCloudApp.Models.Category>
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@foreach (var item in Model)
{
<li>
@Html.ActionLink(item.Name, "Index", "Entry", new { id = item.Id }, null)
</li>
}
我尝试过仅使用常规视图,然后使用部分视图,但均无效果。 有什么建议吗?
只是一个想法,不确定
您应该从您的局部视图@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
删除此行@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
@{ Layout = "~/Views/Shared/_Layout.cshtml"; }
然后给一试。 希望这可以帮助
根据我的理解,请返回完整的view
路径,例如~/Views/Shared/_Categories.cshtml"
而不是_Categories
。如果要布局,请使用相同的代码,否则请使用
@{ Layout = null; }
删除布局并按以下方式使用:
@Html.Action("Category","Home")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.