我有一个最初隐藏的部分视图_ABC.cshtml。
<div id="overview" style="display:none">
<h1> Overview</h1>
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 leftlist">
</div>
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9 overview">
<h3 class="isppagetitle">@Resources.Overview</h3>
<div class="row col-xs-12 col-sm-12 col-md-12 col-lg-12 content">
<div class="row">
......
但现在从其他观点来看,我希望它能够呈现。
public ActionResult Index()
{
return PartialView("_AMgmtPartial");
}
我在_AMgmtPartial中做过..
<div class="account-root">
@{
Html.RenderPartial("_CustList");
Html.RenderPartial("_ABC", new { style = "display:block" });
}
<input type="hidden" id="accountmgmturl" value='@Url.Action("", "AccountMgmt")' />
...............
...............
但这style="display:block;"
没有用。我做错了什么?
答案 0 :(得分:2)
Html.RenderPartial
没有接受HtmlAttributes的参数。通过查看the documentation确认了这一点。
您已填充的参数可通过以下方式访问:
public ActionResult Index(string style)
{
// style will equal "display:block"
return PartialView("_AMgmtPartial");
}
您可以使用此值并通过视图包或视图模型将其传递到局部视图。
public ActionResult Index(string style = "display: none")
{
// style will equal "display:block"
ViewBag.PartialStyle = style;
return PartialView("_AMgmtPartial");
}
然后这可以在您的视图中访问它:
<div id="overview" style="@ViewBag.PartialStyle">
<h1> Overview</h1>
<div class="col-xs-3 col-sm-3 col-md-3 col-lg-3 leftlist">
</div>
<div class="col-xs-9 col-sm-9 col-md-9 col-lg-9 overview">
<h3 class="isppagetitle">@Resources.Overview</h3>
<div class="row col-xs-12 col-sm-12 col-md-12 col-lg-12 content">
<div class="row">
......
要做到这一点虽然会是一个肮脏的黑客。正如@Stephen所提到的更优选的解决方案是将部分视图渲染语句包装在<div>
中,并且您应该设置初始可见性。
<div style="display: block">
@Html.Partial("_ABC");
</div>