我在页面上有一个ASP.NET ListBox,当发生回发时,我会更改列表中的项目。如果列表中有> = 10个项目,我设置Rows属性= 10.但是如果少于10个项目,我想将Rows设置回Rows的默认值。
我从检查反映的代码中看到默认值是4,但我宁愿不在我的代码中将其硬编码为4,而是以某种方式将其重置为默认值。
有办法做到这一点吗?
答案 0 :(得分:2)
您可以在页面的Init
阶段获取默认值。来自documentation:
在页面生命的这个阶段 循环,声明服务器控件 页面初始化为默认值 州;但是,每个人的观点状态 控制尚未填充。
所以你可以这样做:
private int _defaultRows;
protected void Page_Init(object sender, EventArgs e)
{
_defaultRows = yourListBox.Rows;
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (yourListBox.Items.Count >= 10) {
yourListBox.Rows = 10;
} else {
yourListBox.Rows = _defaultRows;
}
}