Здравствуйте, Аноним, Вы писали:
А>Хм... а как это он у тебя при отлюченном ViewState вперед шагает то?[img]
Шагает только в путь
private void Page_Load(object sender, System.EventArgs e)
{
DataSet ddd=null;
if(!IsPostBack)
{
ddd=CreatePage();
Page.Session["MyDataSet"]=ddd;
this.UserDataGrid.DataSource=ddd;
}
else
{
if (Page.Session["MyDataSet"]==null) //На всякий случай проверим там ли он
{
Page.Session["MyDataSet"]=CreatePage();
}
this.UserDataGrid.DataSource=(DataSet)Page.Session["MyDataSet"];
this.UserDataGrid.DataBind();
}
private void UserDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
this.UserDataGrid.CurrentPageIndex=e.NewPageIndex;
this.UserDataGrid.DataSource=(DataSet)Page.Session["MyDataSet"];
this.UserDataGrid.DataBind();
Все устраивает, вот только назад шагать не получается!
Сразу скидывает на первую страницу в которой билиберда полная.
Еще момент, у меня датагрид содержит TextBox, в которых после скидывания на первую страницу содержаться данные с последней страницы.
И второй вопрос:
При сохранении датасета в переменной в сессии или при сохранении его в кэше, мы не уменьшаем трафик, так как и кеш и сессия будут храниться в памяти на сервере?
Спасибо.
P.S.
Я привел пример при AllowCustomPaging=false
при AllowCustomPaging=true
код усложняется но ситуация абсолютно такая же, несмотря на что в DataSource грида, я вставляю таблицу в которую занесены строки для данной CurrentPage, почему то при переходе назад не отрабатывает PageIndexChanged.