我有一个GridView控件和Combobox控件都成功地填充在我的Page_Load事件中(在检查IsPostBack == false的块内)。ASP.Net GridView控件和ComboBox困境
我有一个空按钮“btnClick”事件处理程序,它将在点击时重新加载页面。 GridView和Combobox控件都将它们的EnableViewState
属性设置为True。我期待和期待的行为是:
- 页面将重新加载GridView控件仍然填充。
- 页面将重新加载组合框仍然填充,并且用户选择的项目仍然设置为选定项目。
不幸的是,我发现了行为如下:
- GridView控件现在是空的,并没有显示出数据。
- Combobox现在是空的。
代码如下:
public MyPage()
{
this.Load += new EventHandler(Page_Load);
}
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack == false)
{
DataAccessObj daObj = new DataAccessObj();
foreach (DataRow dataRow in daObj.GetAllData())
{
ListItem listItem = new ListItem(dataRow.ToString(), dataRow.Id.ToString());
myCombobox.Items.Add(listItem);
}
IncidentGrid.DataSource = daObj.GetIncidentsByReportedById(0);
IncidentGrid.DataBind();
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
// Do nothing
}
我想这样做是允许用户从ComboBox中选择一个项目。点击提交后,GridView将被重新填充(基于所选项目)。 Combobox将保持填充状态并显示最后选择的项目。
有人可以帮助解释我可能会出错的地方吗? TIA
如果没有看看您的代码,我们无法告诉您哪里出错! – Widor