ASP.net-Listbox不保留回发之间的选定值

时间:2010-07-16 07:39:41

标签: asp.net

我在页面加载自身时以及在回发中填充了一个列表框。即使页面加载或回发,也会在该列表框中选择某些项目。我必须在该文本框中选择一个或多个项目以及所选项目。

直到这一点,它运作完美,但问题是,当我点击“更新”按钮保存新添加的项目,然后页面回发,所以列表框再次填充。这将松开新选择的项目,并且不会保存任何新选择的项目。

那么当我点击“更新”按钮时,我该怎么办才能不松开新选择的项目。

注意: - 我还需要在回发上填充列表框。因此,不能丢弃回发列表框中的人口。

请帮助我。我是ASP.net的新手。

先谢谢

2 个答案:

答案 0 :(得分:1)

如果启用了视图状态,则无需重新填充列表。

要填充你应该做类似的事情:

if(!IsPostBack){
    // populate your list from database or whatever
}

如果页面不是回发页面,则只会填充列表,因此(如果启用了viewstate),单击更新后您的选择将保留。

答案 1 :(得分:0)

如果要禁用视图状态,请务必在Page LifeCycle的“Init”事件期间填充DropDownList而不是“Load”事件:

protected void Page_Init( object sender, EventArgs e ) { 
    DropDownList1.DataSource = ...;
    DropDownList1.DataBind();
}

您可以在这篇优秀的文章中找到更多信息: Truly understanding viewstate

我希望这有点帮助。