我正在创建一个包含2页的asp.net / C#应用程序。
1stPage.aspx
上的JavaScript会将两个参数传递给第二页:
2ndPage.aspx?Paramter1=abc&Paramter2=xyz
2ndPage.aspx
将向SQL数据库发出查询并动态创建网格视图。
我使用不同的ID动态地在同一页面上创建5个不同的网格视图。 我想要网格化gridview。
当我尝试分页时,最后4个网格没有变化。只有第一个gridview的分页才能正常工作。
我试图缓存数据视图,但似乎没有任何效果。
C#CODE:
protected void Page_Load(Object Src, EventArgs E)
{
if (!IsPostBack)
{
string Param1= Page.Request.QueryString["Paramter1"];
string Param1 = Page.Request.QueryString["Paramter2"];
SqlDataAdapter cmdldata = new SqlDataAdapter("" + Param1 + " " + Param1, sqlconn);
DataView dataview_ldata;
GridView gv = new GridView();
ph.Controls.Add(gv);
gv.ID = "grid" + param1;
gv.AutoGenerateColumns = true;
gv.ShowFooter = false;
gv.CellPadding = 2;
gv.CellSpacing = 0;
gv.Font.Size = 11;
gv.EnableViewState = true;
gv.AllowPaging = true;
gv.PageSize = 10;
gv.RowStyle.Wrap = false;
gv.HeaderStyle.Wrap = false;
gv.PageIndexChanging += new GridViewPageEventHandler(gv_PageIndexChanging);
DataSet dsldata;
dsldata = new DataSet();
cmdldata.Fill(dsldata);
dataview_ldata = dsldata.Tables[0].DefaultView;
gv.DataSource = dataview_ldata;
gv.DataBind();
Cache["data"] = dataview_ldata;
ph.DataBind();
}//end of if IsPostBack
}//end of pageload
void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView gv = (GridView)sender;
gv.PageIndex = e.NewPageIndex;
gv.DataSource = (DataView)Cache["data"];
gv.DataBind();
}
HTML CODE:
<form id="form1" runat="server">
<div>
<asp:PlaceHolder id="ph" runat="server" />
</div>
</form>