我有一箇中繼器,並且正在使用分頁。它的工作原理,但它與我的排序搞笑的東西。首先,如果我按排序按鈕,我的分頁控件顯示兩次。其次,它基於默認排序順序進行分頁。任何想法可能是錯誤的?使用分頁中繼器進行分頁
protected void btnSort_Click(object sender, EventArgs e)
{
Show_Data();
}
public void Show_Data()
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["PBRConnectionString"].ConnectionString);
string srtOrder = cboSortBy.Text;
SqlDataAdapter adp = new SqlDataAdapter("select [ACCT_LIST].*, [ACCT_GRP_LIST].ACCT_GRP from [ACCT_LIST] LEFT JOIN [ACCT_GRP_LIST] on [ACCT_GRP_LIST].ACCT_GRP_PK = [ACCT_LIST].ACCT_GRP_FK ORDER BY " + srtOrder + "", con);
DataSet ds = new DataSet();
adp.Fill(ds, "TAcctList");
//Pagination code so only a set number of records loads at a time.
// Done to speed up the loading, since this list gets really long.
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables["TAcctList"].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 20;
int currentPage;
if (Request.QueryString["page"] != null)
{
currentPage = Int32.Parse(Request.QueryString["page"]);
}
else
{
currentPage = 1;
}
pds.CurrentPageIndex = currentPage - 1;
Label1.Text = "Page " + currentPage + " of " + pds.PageCount;
if (!pds.IsFirstPage)
{
MenuItem itemMessage = NavMenu.FindItem("First");
itemMessage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";
}
AcctRepeater.DataSource = pds;
AcctRepeater.DataBind();
CreatePagingControl(pds.PageCount, pds.CurrentPageIndex);
// End of Pagination code
con.Close();
}
而且在ASP.Net側,按鍵控制如下:
<table>
<tr>
<td width="150"><asp:DropDownList ID="cboSortBy" runat="server" Width="120">
<asp:ListItem Value="StatusText">Benefit Type</asp:ListItem>
<asp:ListItem Value="PRIORITY_RANK">Priority Rank</asp:ListItem>
<asp:ListItem Value="ACTIVE_FLG">Active Flag</asp:ListItem>
</asp:DropDownList></td>
<td width="180"><asp:Button ID="btnSort" runat="server"
Text="Sort" Width="121px" onclick="btnSort_Click" /></td>
</tr>
</table>
分頁一塊是新的,但加入之前的排序功能正常工作。現在分頁文件工作正常,但分類文件變得不穩定。我無法弄清楚分頁片的哪一部分將它扔出去了。
我認爲控制出現兩次,因爲我沒有做回發?雖然不知道排序問題。 –
好的,我認爲問題的一部分是表單回發,並且保存排序值的組合框被重置爲默認值。我的分頁創建的鏈接如下所示:http:// localhost:50361/AdminForms/frmManageBenefitType.aspx?page = 3。所以,我猜你什麼時候點擊它會做一個完整的回發,這是重置排序組合。任何人都知道如何與之作鬥爭?我想我需要以某種方式推進組合選定的價值。 –