【问题标题】:ASP.net-Listbox not retaining selected values between postbacksASP.net-Listbox 在回发之间不保留选定的值
【发布时间】:2010-07-16 07:39:40
【问题描述】:

当页面加载自身以及回发时,我有一个列表框被填充。即使在页面加载或回发时,也已在该列表框中选择了某些项目。除了选定的一项之外,我还必须在该文本框中选择一项或多项。

到目前为止,它运行良好,但问题是当我单击“更新”按钮以保存新添加的项目时,页面回发也会再次填充列表框。这将丢失新选择的项目,并且不会保存新选择的项目。

那么当我点击“更新”按钮时,我应该怎么做才能不丢失新选择的项目。

注意:- 我还需要在回发时填充列表框。因此,不能丢弃回发时该列表框的数量。

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

提前致谢

【问题讨论】:

  • 你的视图状态启用了吗?

标签: asp.net


【解决方案1】:

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

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

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

这只会在页面不是回发时填充列表,因此(如果启用视图状态)您的选择将在您单击更新后保留。

【讨论】:

  • 没问题..如果您发现该消息有用或者它是答案,请记住投票/标记为正确答案
【解决方案2】:

如果你想禁用视图状态,在页面生命周期的“初始化”事件而不是“加载”事件期间填充 DropDownList 很重要:

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

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

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 1970-01-01
    • 2010-09-12
    • 2012-11-11
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多