出现一个问题,希望大家帮忙解决下。
我在GRIDVIEW中加了个模板字段编辑,然后在模板里加入了一个linkButton,把它的commandName设成了Delete然后在GRIDVIEW里的rowCommand事件里调用了删除记录的方法。
如果在PAGE_LOAD事件里写
if(!IsPostBack )
fanye();
那么点删除就没有任何反应。但如果选择dropDownList里的一个页码,页面回传后就会转到相应的页码。
但如果在PAGE_LOAD事件里只写fanye();点删除就可以删掉。但这时如果选择dropDownList里的一个页码,页面回传后没有任何反应。
下面是分页的方法
protected void fanye()
{
SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["vote"].ConnectionString);
SqlDataAdapter dad = new SqlDataAdapter("select * from voteMain", conn);
DataSet ds = new DataSet();
dad.Fill(ds, "voteMain");
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables["voteMain"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 3;
pds.CurrentPageIndex = Convert.ToInt32(lblPage.Text) - 1;
lblAll.Text = Convert.ToString(pds.PageCount);
//初始化dropdownList
dddlPage.Items.Clear();
for (int i = 1; i <= pds.PageCount; i++)
{
ListItem item = new ListItem();
item.Value = i.ToString ();
item.Text = i.ToString ();
dddlPage.Items.Add(item );
}
dddlPage.SelectedIndex = pds.CurrentPageIndex;
GridView1.DataSource = pds;
GridView1.DataBind();
lkbtFirst.Enabled = true;
lkbtPrev.Enabled = true;
lkbtNext.Enabled = true;
lkbtLast.Enabled = true;
if (pds.IsFirstPage)
{
lkbtFirst.Enabled = false;
lkbtPrev.Enabled = false;
}
if (pds.IsLastPage)
{
lkbtNext.Enabled = false;
lkbtLast.Enabled = false;
}
}
下面是点删除执行的代码
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int voteID=int.Parse ( e.CommandArgument .ToString ());
voteSel objSel = new voteSel();
objSel.Delete(voteID);
Response.Write("<script language=javascript>alert('删除成功!');location='manageVote.aspx'</script>");
}
}
下面是dropdownList的选择改变事件的代码
protected void dddlPage_SelectedIndexChanged(object sender, EventArgs e)
{
lblPage.Text = Convert.ToString(dddlPage.SelectedValue );
fanye();
}
大家能帮忙看一下问题出在哪里啊?为什么页码跳转好用删除就不好用了,删除好用了页码跳转就不好用了啊?
我在GRIDVIEW中加了个模板字段编辑,然后在模板里加入了一个linkButton,把它的commandName设成了Delete然后在GRIDVIEW里的rowCommand事件里调用了删除记录的方法。
如果在PAGE_LOAD事件里写
if(!IsPostBack )
fanye();
那么点删除就没有任何反应。但如果选择dropDownList里的一个页码,页面回传后就会转到相应的页码。
但如果在PAGE_LOAD事件里只写fanye();点删除就可以删掉。但这时如果选择dropDownList里的一个页码,页面回传后没有任何反应。
下面是分页的方法
protected void fanye()
{
SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["vote"].ConnectionString);
SqlDataAdapter dad = new SqlDataAdapter("select * from voteMain", conn);
DataSet ds = new DataSet();
dad.Fill(ds, "voteMain");
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables["voteMain"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 3;
pds.CurrentPageIndex = Convert.ToInt32(lblPage.Text) - 1;
lblAll.Text = Convert.ToString(pds.PageCount);
//初始化dropdownList
dddlPage.Items.Clear();
for (int i = 1; i <= pds.PageCount; i++)
{
ListItem item = new ListItem();
item.Value = i.ToString ();
item.Text = i.ToString ();
dddlPage.Items.Add(item );
}
dddlPage.SelectedIndex = pds.CurrentPageIndex;
GridView1.DataSource = pds;
GridView1.DataBind();
lkbtFirst.Enabled = true;
lkbtPrev.Enabled = true;
lkbtNext.Enabled = true;
lkbtLast.Enabled = true;
if (pds.IsFirstPage)
{
lkbtFirst.Enabled = false;
lkbtPrev.Enabled = false;
}
if (pds.IsLastPage)
{
lkbtNext.Enabled = false;
lkbtLast.Enabled = false;
}
}
下面是点删除执行的代码
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
{
int voteID=int.Parse ( e.CommandArgument .ToString ());
voteSel objSel = new voteSel();
objSel.Delete(voteID);
Response.Write("<script language=javascript>alert('删除成功!');location='manageVote.aspx'</script>");
}
}
下面是dropdownList的选择改变事件的代码
protected void dddlPage_SelectedIndexChanged(object sender, EventArgs e)
{
lblPage.Text = Convert.ToString(dddlPage.SelectedValue );
fanye();
}
大家能帮忙看一下问题出在哪里啊?为什么页码跳转好用删除就不好用了,删除好用了页码跳转就不好用了啊?
解决方案 »
- asp.net移动控件问题
- user control
- 紧急求救,问一下返回值的问题,都帮忙进来看看..............
- ASP.NET 关于折扣问题
- 求救vs2008切换至设计视图时左下角显示‘正在请求数据...’
- 想找个适合心理学方面的网页模版~~~~~~
- 求救,editcommand不能触法
- 如何将服务器端的变量的值赋给客户端的一个html标记的属性。
- GridView 保存问题
- 谁把 微软的GB-BIG的转换的源代码和说明文档 还有那个控件 发给我?
- mvc 这个东西以后在公司是不是很常用啊!求有关资料......
- 一个单选列表按钮为什么在SelectedIndexChanged事件里获取不到值只能在PAGE_LOAD里获取到值?
{
if (e.CommandName == "Delete")
{
int voteID=int.Parse ( e.CommandArgument .ToString ());
voteSel objSel = new voteSel();
objSel.Delete(voteID);
Response.Write(" <script language=javascript>alert('删除成功!');location='manageVote.aspx' </script>");
}
//在这加上fanye();删除后数据要重新绑定
fanye();
}
fanye();
把这句放在if判断语句里面