为了方便其间,我把每个考题做成了Usercontrol,用下面的代码动态加载,
private
void
BindItems
{
//先从数据库中随机取得一定数量的考题
for(int i = 0; i < it.Rows.Count; i ++)
{
Control u = LoadControl("UserControl/UCTestItem.ascx");
u.EnableViewState = true;
UCTestItem uc = (UCTestItem)u;
uc.EventID = Request.QueryString["TestEventID"];
uc.Bind(it.Rows[i]);
Panel1.Controls.Add(u);
}
}
在Page_Load时间中调用上面的方法:
{
//先从数据库中随机取得一定数量的考题
for(int i = 0; i < it.Rows.Count; i ++)
{
Control u = LoadControl("UserControl/UCTestItem.ascx");
u.EnableViewState = true;
UCTestItem uc = (UCTestItem)u;
uc.EventID = Request.QueryString["TestEventID"];
uc.Bind(it.Rows[i]);
Panel1.Controls.Add(u);
}
}
if
(
!
this
.IsPostBack)
BindItems( );
现在的问题是,当用户点击“提交”按钮后,所有动态加载的UCTestItem控件,都消失了。
BindItems( );
由于BindItems是随机取题,所以不能每次刷新页面都调用。
该如何解决?谢谢!