是这样的 我以前的做法是
把分页数据绑定写成一个私有方法 在页面读取时默认绑定第一页有一个Label存储当前页 Text默认为"1"当点击下一页时 将这个Label加1 然后调用分页数据绑定的方法
当点击下一页时 将这个Label减1 然后调用分页数据绑定的方法但这样对用户体验来说 感觉非常不好用 因为在点击过上一页或下一页时 就会出现重试或取消的提示框 感觉很不好..现在我采用在地址栏上添加一个"&Page=当前页"这个QueryString但现在小弟有一个问题 如果QueryString参数不止只有Page的时候 应该怎么办..
比如 http://localhost:49665/N-xxx/html/School.aspx?SchID=4&Page=1这里有两个参数我只想改变Page的值 重新进入该页面我目前的方法是这样的 protected void LinkNext_Click(object sender, EventArgs e)
{
string Url = "~/html/School.aspx?";
if (Request.Params["SchID"] != null)
{
Url += "SchID=" + Request.Params["SchID"].ToString();
}
Url += "&mPage=" + (Convert.ToInt32(Request.Params["mPage"] ?? "1") + 1);
Url += Request.Params["Page"] != null ? "&Page=" + Request.Params["Page"].ToString() : "";
Response.Redirect(Url);
}
这是重新拼写地址 然后Response.Redirect这个地址
但这样 我感觉扩展性不强 因为 这种写起来也麻烦 在今后维护过程中 很不好读 如果在该页面又加增加功能 可能又会加一个参数 那样的话 这些地方都要改 非常的麻烦求教各位是用什么方法来写翻页的 主要是不想在刷新的时候弹出提示框
把分页数据绑定写成一个私有方法 在页面读取时默认绑定第一页有一个Label存储当前页 Text默认为"1"当点击下一页时 将这个Label加1 然后调用分页数据绑定的方法
当点击下一页时 将这个Label减1 然后调用分页数据绑定的方法但这样对用户体验来说 感觉非常不好用 因为在点击过上一页或下一页时 就会出现重试或取消的提示框 感觉很不好..现在我采用在地址栏上添加一个"&Page=当前页"这个QueryString但现在小弟有一个问题 如果QueryString参数不止只有Page的时候 应该怎么办..
比如 http://localhost:49665/N-xxx/html/School.aspx?SchID=4&Page=1这里有两个参数我只想改变Page的值 重新进入该页面我目前的方法是这样的 protected void LinkNext_Click(object sender, EventArgs e)
{
string Url = "~/html/School.aspx?";
if (Request.Params["SchID"] != null)
{
Url += "SchID=" + Request.Params["SchID"].ToString();
}
Url += "&mPage=" + (Convert.ToInt32(Request.Params["mPage"] ?? "1") + 1);
Url += Request.Params["Page"] != null ? "&Page=" + Request.Params["Page"].ToString() : "";
Response.Redirect(Url);
}
这是重新拼写地址 然后Response.Redirect这个地址
但这样 我感觉扩展性不强 因为 这种写起来也麻烦 在今后维护过程中 很不好读 如果在该页面又加增加功能 可能又会加一个参数 那样的话 这些地方都要改 非常的麻烦求教各位是用什么方法来写翻页的 主要是不想在刷新的时候弹出提示框
解决方案 »
- winform如何远程访问图片到picturebox
- 多行表头的Excel导入 Asp.Net
- 像这样的自动提示怎么实现啊
- 如果要在网站上获取客户的ip并保存在数据库中在asp.net中怎么实现的?
- Asp.net的三种身份验证模式(Windows|Forms|Passport)能同时使用吗?
- 转发的AJAX问题
- datagrid中放了一个DataKeyField我有什么办法使我点击这个button1可以获得该button1所在的对应行的kuid号呢?
- ds转成xml文件,出大问题
- request取值问题,有时取出值正确,但有时又是错误的。
- 菜鸟问题,各位老大帮忙,具有多个签名相同的定义
- group by如何只按一个字段分组,但结果返回多个字段
- []这个属性怎么用啊
</asp:GridView>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="10" OnPageChanging="AspNetPager1_PageChanging">
</webdiyer:AspNetPager>using System;
using System.Data;
using Wuqi.Webdiyer;
using ZhongCong.WebForm;public partial class MySql : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DisplayData(AspNetPager1.PageSize, 1);
}
} private void DisplayData(int pageSize, int pageIndex)
{
string sqlStr = "select count(*) from 测试";
MySqlData md = new MySqlData();
AspNetPager1.RecordCount = Convert.ToInt32(md.ExecuteScalar(sqlStr));
sqlStr = String.Format("select * from 测试 limit {0},{1}", ((pageIndex - 1) * pageSize).ToString(), pageSize.ToString());
md.SetCommandText(sqlStr);
DataTable dt = md.FillDataTable();
md.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
} protected void AspNetPager1_PageChanging(object src, PageChangingEventArgs e)
{
AspNetPager1.CurrentPageIndex = e.NewPageIndex;
DisplayData(AspNetPager1.PageSize, AspNetPager1.CurrentPageIndex);
}
//作者dalmeeme
}例子你去网上搜一搜吧 很多。