这几天在做DATALIST分页的时候遇到一个头大的问题 甚至一度让我觉得除了BUG 请各位大侠给指导
在照书上打例子的时候 书上将所有数据库对象都放入了一个方法里面 而我则将sqlconnection dataset sqldataadapter datatable等对象都作为全局变量放在了方法的外面 以方便我在其他的事件中调用 但是问题来了 datalist对象的edit模板不能用 点击commandname属性为edit的按钮时页面只是单纯的刷新一下而不是替换成edit模板 我已经给editcommand写了代码的啊,而我照着书上代码完完整整打 把SQLCONNECTION等放在方法里面实例化的时候就又可以用了,这个,有什么区别吗?
难道这些数据库操作的类都不能作为全局变量实例化的吗?
在照书上打例子的时候 书上将所有数据库对象都放入了一个方法里面 而我则将sqlconnection dataset sqldataadapter datatable等对象都作为全局变量放在了方法的外面 以方便我在其他的事件中调用 但是问题来了 datalist对象的edit模板不能用 点击commandname属性为edit的按钮时页面只是单纯的刷新一下而不是替换成edit模板 我已经给editcommand写了代码的啊,而我照着书上代码完完整整打 把SQLCONNECTION等放在方法里面实例化的时候就又可以用了,这个,有什么区别吗?
难道这些数据库操作的类都不能作为全局变量实例化的吗?
{
if (!IsPostBack)
{
pagenum.Text = "1";
bind();
}
}protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
{
DataList1.EditItemIndex = e.Item.ItemIndex;
bind();
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{ }
public int bind()
{
//DataSet myds;
SqlDataAdapter msda;
SqlConnection mydatacon = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["studyConnectionString"].ToString());
// DataTable anouncement;上面这段代码我一开始是作为全局变量放在方法外面的
// string strSelect = "select * from anouncement";
msda = new SqlDataAdapter(strSelect, mydatacon);
myds = new DataSet();
msda.Fill(myds, "anouncement");
// anouncement = myds.Tables["anouncement"];这段代码一开始我是放在page_load事件里面的
int curpage = Convert.ToInt32(this.pagenum.Text);
PagedDataSource pds = new PagedDataSource();
pds.DataSource = anouncement.DefaultView;
pds.AllowPaging = true;
pds.PageSize = 10;
pds.CurrentPageIndex = curpage - 1;
firstpage.Enabled = true;
previouspage.Enabled = true;
nextpage.Enabled = true;
lastpage.Enabled = true;
if (curpage == 1)
{
this.firstpage.Enabled = false;
this.previouspage.Enabled = false;
}
if (curpage == pds.PageCount)
{
this.nextpage.Enabled = false;
this.lastpage.Enabled = false;
}
ddlchoicepage.Items.Clear();
for (int i = 0; i < pds.PageCount; i++)
{
ddlchoicepage.Items.Add((i+1).ToString());
}
DataList1.DataSource = pds;
DataList1.DataBind();
return pds.PageCount;
}以上程序时正常的 注释部分放到我说的地方edit模板就不能用了~~~