我有一个循环遍历其模型中的属性并显示一堆复选框的视图。
这些复选框由它们的父级组合在一起,我有一个链接显示/隐藏包装每组复选框的 div(您在代码中看到的 javascript 折叠函数)。
问题是,这些复选框/组绑定到模型,并且在回发后,模型会自行重建 - 如果最终用户折叠了一个组(调用 jquery.hide()),则它不再折叠。
在 MVC 中保留这些 css 更改的正确方法是什么?我需要一个隐藏字段来跟踪他们的可见性吗?我是否需要更新模型对象以拥有一个新属性来说明是否显示该组?
来自网络表单...原谅我的菜鸟。
@for (int y = 0; y < Model.SearchControls.Count; y++)
{
<div style="margin-top: 3px;">
<h2 style="cursor:pointer;" onclick="javascript:Collapse(@y);">@Html.Label(Model.SearchControls[y].DisplayText)</h2>
</div>
<div id="@string.Format("domainDiv{0}", @y)" style="display:none;">
@for (int z = 0; z < Model.SearchControls[y].DomainControl.Domains.Count; z++)
{
@Html.CheckBoxFor(x => x.SearchControls[y].DomainControl.Domains[z].Checked)
@Html.Label(" " + Model.SearchControls[y].DomainControl.Domains[z].DomainName)
@Html.HiddenFor(x => x.SearchControls[y].DomainControl.Domains[z].DomainName)
@Html.HiddenFor(x => x.SearchControls[y].DomainControl.Domains[z].DomainID)
<br />
}
</div>
}