选择下拉列表中的动态项目而不会在提交时失去选择

时间:2011-12-13 19:52:20

标签: c# asp.net

每次单击页面上的ASP按钮选择下拉列表中的项目时,只会选择列表中的第一项。就好像每次单击按钮时页面都会刷新并且所有变量都会重置。在使用数据库中的动态数据时,如何从下拉列表中选择项目?

2 个答案:

答案 0 :(得分:1)

这听起来表明填充了DropDownList中的Page_Load。是这样的吗? (我假设您正在使用WebForms。)如果您在Page_Load中填充控件,那么您将要将其包装在条件中:

if (!IsPostBack)
{
  // populate your controls from data
}

否则,每次回发都会重新填充它们。当您单击某个按钮或在启动回发的页面上执行其他操作时,{/ 1}在事件处理程序之前被称为。实际上,这种情况正在发生:

  1. 用户导航到页面
  2. Page_Load清除并重新填充Page_Load
  3. 用户选择DropDownList
  4. 中的项目
  5. 用户点击按钮
  6. DropDownList清除并重新填充Page_Load
  7. 按钮处理程序从DropDownList获取当前选择,这是默认值。

答案 1 :(得分:0)

“点击ASP按钮”是什么意思?

如果您正在谈论下拉列表打开下拉列表,那么您需要将AutoPostback选项设置为false如果您不希望打开下拉列表触发回发(即...如果您有与列表开头有关的任何事件,则需要另一方。)