页面一个gridview显示数据,一个dropdownlist显示分类,选择不同的分类时,gridview显示不同的数据.用的是gridview自带的分页,每次选择分类在点分页的页码,显示的数据都是page_load中没有分类的数据,后来从网上查用ajax+updatepanel就可以了,我安装了ajax1.0,新建了ajaxenable网站,配置好了数据源,在页面中加了scriptmanager控件,updatepanel控件.将gridview放入了updatepanel中,可是还不起作用,请高手帮忙呀,急急急!!
页面代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="Default2.aspx" />
</Scripts>
</asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging">
</asp:GridView>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
<asp:ListItem>请选择</asp:ListItem>
<asp:ListItem>投诉管理</asp:ListItem>
<asp:ListItem>业务支撑</asp:ListItem>
<asp:ListItem>营业厅服务</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="PageIndexChanging" />
</Triggers>
</asp:UpdatePanel>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>请选择</asp:ListItem>
<asp:ListItem>业务支撑</asp:ListItem>
<asp:ListItem>投诉管理</asp:ListItem>
<asp:ListItem>营业厅服务</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>C#代码using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;public partial class kf_admin_Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last order by m_id desc";
ds.DataBind(sql, "oweb", GridView1);
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last where jy_lb='" + DropDownList1.SelectedItem.Text.ToString() + "'";
ds.DataBind(sql, "oweb", GridView1);
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last where jy_lb='" + DropDownList2.SelectedItem.Text.ToString() + "'";
ds.DataBind(sql, "oweb", GridView1);
}
}
页面代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="Default2.aspx" />
</Scripts>
</asp:ScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging">
</asp:GridView>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
<asp:ListItem>请选择</asp:ListItem>
<asp:ListItem>投诉管理</asp:ListItem>
<asp:ListItem>业务支撑</asp:ListItem>
<asp:ListItem>营业厅服务</asp:ListItem>
</asp:DropDownList>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="GridView1" EventName="PageIndexChanging" />
</Triggers>
</asp:UpdatePanel>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>请选择</asp:ListItem>
<asp:ListItem>业务支撑</asp:ListItem>
<asp:ListItem>投诉管理</asp:ListItem>
<asp:ListItem>营业厅服务</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>C#代码using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OracleClient;public partial class kf_admin_Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last order by m_id desc";
ds.DataBind(sql, "oweb", GridView1);
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last where jy_lb='" + DropDownList1.SelectedItem.Text.ToString() + "'";
ds.DataBind(sql, "oweb", GridView1);
}
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last where jy_lb='" + DropDownList2.SelectedItem.Text.ToString() + "'";
ds.DataBind(sql, "oweb", GridView1);
}
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataSource=???? //????
GridView1.DataBind();
}
UpdatePanel
去掉在写上事件 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataSource=数据源;
GridView1.DataBind();
}
就可以了
<ContentTemplate>
这个最好不要加,有个时候加上这个还会报错误,我之前就遇到过这样的问题
谁能提供点代码呀
{
GridView1.PageIndex = e.NewPageIndex;
//重新绑定gv,最好把下面代码写成方法。
ClassDataSet ds = new ClassDataSet();
string sql = "select * from view_web_comm_kf_jy_last order by m_id desc";
ds.DataBind(sql, "oweb", GridView1); }