Member 12618369 Ответов: 1

Как сохранить содержимое страницы, если она будет отправлена обратно


Мне нужно сохранить вид сетки, который появляется в результате поиска по идентификатору в текстовом поле, когда идентификатор страницы отправляется обратно. Чтобы проиллюстрировать это, у меня есть ссылка на таблицу представления сетки, которая переводит меня на другую страницу, а затем у меня есть ссылка на страницу, чтобы вернуться назад, что представление сетки не найдено, потому что страница в posted back.


пожалуйста помочь

//pageload
protectedvoidPage_Load(objectsender,EventArgse)
{
Cache["MId"]=TextBox7.Text;
if(TextBox7.Text!=null)
{
view_back();
rep_bind();
}
if(IsPostBack)
{
label10.Text="";
view_back();
Cache["MId"]=TextBox7.Text;
grid.Visible=true;
}
}
//searchcode
protectedvoidSearch(objectsender,EventArgse)
{
if(TextBox7.Text!=null)
{
SqlConnectioncon1=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con1.Open();
stringquery="SElECtt1.*,t2.*,t3.*fromdbo.MaterialASt1INNERJOINdbo.ModuleRelationAst2ONt2.MID=t1.MIDINNERJOINdbo.UsersASt3ONt3.UniID=t2.UIdwheret3.user_type='Staff'andt1.IsDeleted=0ANDt2.MID='"+TextBox7.Text+"'";
SqlCommandcom=newSqlCommand(query,con1);
SqlDataReaderdr;
dr=com.ExecuteReader();
if(dr.HasRows)
{
dr.Read();
rep_bind();
label10.Text="";
grid.Visible=true;
}
if(!dr.HasRows)
{
label10.Text="ModuleIDNotFound!";
grid.Visible=false;
}
}
}
//methodfordisplayinggridview
privatevoidrep_bind()
{
if(TextBox7.Text!=null)
{
SqlConnectioncon1=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con1.Open();
stringquery="SElECtt1.*,t2.*,t3.*fromdbo.MaterialASt1INNERJOINdbo.ModuleRelationAst2ONt2.MID=t1.MIDINNERJOINdbo.UsersASt3ONt3.UniID=t2.UIdwheret3.user_type='Staff'andt1.IsDeleted=0ANDt2.MID='"+TextBox7.Text+"'";
SqlDataAdapterda=newSqlDataAdapter(query,con1);
DataSetds=newDataSet();
da.Fill(ds);
GridView1.DataSource=ds;
GridView1.DataBind();
}
}
//forclickonviewlinkongridviewtoredirecttoaontherpage
publicvoidView()
{
Response.Redirect("View.aspx?Id="+(MaID));
}
//thisIdidtokeepthecontentsofthepagewhenitloadedandIcalledinloadmethodbutnotworkingjustitkeepserrormessageforif(!dr.HasRows)
privatevoidview_back()
{
if(TextBox7.Text!=null)
{
SqlConnectioncon1=newSqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con1.Open();
stringquery="SElECtt1.*,t2.*,t3.*fromdbo.MaterialASt1INNERJOINdbo.ModuleRelationAst2ONt2.MID=t1.MIDINNERJOINdbo.UsersASt3ONt3.UniID=t2.UIdwheret3.user_type='Staff'andt1.IsDeleted=0ANDt2.MID='"+TextBox7.Text+"'";
SqlCommandcom=newSqlCommand(query,con1);
SqlDataReaderdr;
dr=com.ExecuteReader();
if(dr.HasRows)
{
dr.Read();
rep_bind();
label10.Text="";
grid.Visible=true;
}
if(!dr.HasRows)
{
label10.Text="ModuleIDNotFound!";//thisappearswhenthepageispostedback
grid.Visible=false;
}
}
}

1 Ответов

Рейтинг:
9

ManojDhobale

Ваш подход выглядит хорошо, вы получили какие-либо ошибки при этом?

обратиться
asp.net -поддержание индекса текущей страницы GridView после перехода от страницы Gridview - переполнение стека[^]


Member 12618369

спасибо
Я нашел на этой странице на Stack overflow этот код, но я не мог понять, что такое pageNumber и как я могу его получить, даже подумал, что мне нужно показать вид сетки с его содержимым, которое на основе поиска по ID не является постоянным содержимым страницы
охраняемых недействительными GridViewIndexChanging(объект отправителя, GridViewPageEventArgs е)
{
myGridView.PageIndex = e. NewPageIndex;
Session ["pageNumber"] = e. NewPageIndex;
// независимо от того, что делает изменение индекса вашей страницы...
}