Я делаю веб-страницу с поиском, который приносит много информации из MSSQL. То, что я сделал, это хранимая процедура, которая возвращает только ту страницу, которую можно увидеть на сайте.
Сейчас я работаю над подкачкой страниц, поскольку мне нужно показать нечто похожее на Google. Если вы находитесь на странице 1, они показывают первые 10 страниц, а если вы находитесь на странице 19, они показывают, начиная со страницы 9 до 28.
Я думаю, что лучший вариант показать номера страниц - использовать кнопку ссылки внутри повторителя. Проблема, с которой я столкнулся сейчас, заключается в том, что я не знаю, как лучше получить номер страницы при обратной передаче.
Делая быстрый пример, я назначил ArrayList для repeatater.datasource:
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandArgument="<%# Container.DataItem %>"><%# Container.DataItem %></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument="4654">Test #1</asp:LinkButton>
В моем файле Default.aspx.cs у меня есть следующий код
protected void Page_Load(object sender, EventArgs e)
{
if (this.IsPostBack)
{
string x = LinkButton2.CommandArgument;
//string y = LinkButton1.CommandArgument;
//I know this line will not work since the Linkbutton1 is inside the Repeater.
}
Что мне сделать, чтобы это заработало?
У кого-нибудь есть лучшее решение для этой подкачки?
Спасибо
Jerry