PDA

View Full Version : صفحه بندی دستی Gridview با استفاده از querystring ?



elham1611
جمعه 27 مرداد 1391, 17:15 عصر
با سلام
من به صورت دستی Gridview رو صفحه بندی با کدهای زیر . ولی وقتی روی صفحه بعدی کلیک میکنیم نتایج در همان صفحه نشان داده میشه که از نظر seo مناسب نیست و در نتیجه فقط رکوردهایی که در صفحه اول نشان داده میشن در موتورهای جستجو ثبت میشن.

میخوام هر صفحه رو جدا گانه با query stinring نشان بده تا تمام رکوردها در موتورهای جستجو ثبت بشن. چی کار کنم.

protected void Page_Load(object sender, EventArgs e)
{
string constr = System.Configuration.ConfigurationManager.Connecti onStrings["myConnectionString"].ToString();
SqlConnection con = new SqlConnection(constr);
SqlDataAdapter adap = new SqlDataAdapter("Select * from mytable", con);
DataTable dt = new DataTable();
adap.Fill(dt);
GridView1.AllowPaging = true;
GridView1.PageSize = 10;
GridView1.DataSource = dt;
GridView1.DataBind();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
GridView1.DataBind();
}

fakhravari
جمعه 27 مرداد 1391, 17:34 عصر
سوالتون خب نفهیدم ولی براس شماره صفحه شما میتوانید e.NewPageIndex; در یک مقدار عددی بریزید و بعد اونو به Page index گرید بدین.

mehdi_gerami65
جمعه 27 مرداد 1391, 18:19 عصر
سوالتون خب نفهیدم ولی براس شماره صفحه شما میتوانید e.NewPageIndex; در یک مقدار عددی بریزید و بعد اونو به Page index گرید بدین.


اين به خاطره اينه كه تو ايجاد صفحه تنها بايند گريد ويو بدرد نميخوره واينو شما به خاطره اين گذاشتي كه تو پيج لود دارم اطلاعات رو ميريزم داخل گريد ويو درسته ولي اول صفحه بندي ميشه بعد به خطر اينه كه اطلاعات صفحه اول رو نشون ميده اولا شما بايد در صفحه پيچ لود iif(!IsPostBack) رو هم كنترل كني بعد يه تابعي بنويس مخصوص لود كردن اطلاعات از بانك بعد هر جا كه لازم شد انون صدا بزن تا مشكلت حل بشه

elham1611
جمعه 27 مرداد 1391, 19:37 عصر
سوالتون خب نفهیدم ولی براس شماره صفحه شما میتوانید e.NewPageIndex; در یک مقدار عددی بریزید و بعد اونو به Page index گرید بدین.

ممنون منظورم رو با یک مثال میزنم
فرض کنید در صفحه (default.aspx) سایت Gridview داریم که 10 تا رکورد اول رو نشان میده. حالا وقتی میخواهیم 10 تا رکورد بعدی رو نشون بده روی صفحه 2 کلیک میکنیم دیگه تا اینجا همه چیز عادیه.
اول 10 تا رکورد بعد رو هم در صفحه ( default.aspx) نشان میده در صورتی که من میخوم در صفحه ای مثل default.aspx?page=2 نشان بده .