网格视图清除了隐藏字段上的值。因此它不能用于存储我的 div 是否隐藏的值。
我通过创建一个 div“divhidden”解决了这个问题,该 div 添加了可用于设置由我的 javascript 编辑的可见性的隐藏值。
现在,关于隐藏哪些 div 的信息存储在这些隐藏值中的回发之间。
aspx-page: hiddenDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("DIV"); hiddenDiv.ID = "hiddenValuesDiv"; PlanningForm.Controls.Add(hiddenDiv);
Label weekLabel = row.FindControl("weeknr") as Label;
if (weekLabel != null && PlanningForm.FindControl("visiblediv" + weekLabel.Text) == null) {
HiddenField divvisible = new HiddenField();
divvisible.ID = "visiblediv" + weekLabel.Text;
//Open the first two divs
if (!Page.IsPostBack) {
if(openDivCount < 2)
divvisible.Value = "block";
openDivCount++;
}
hiddenDiv.Controls.Add(divvisible);
}
和javascript代码:
function expandcollapse(obj, row) {
var hidden = document.getElementById(GetClientId('visible' + obj));
var warningonweek = weekrow.getElementsByTagName('td')[0].getElementsByTagName('img')
if (div.style.display == "none") {
div.style.display = "block";
....
}
else {
div.style.display = "none";
....
}
}