.NET中关于DataList 分页的问题

.NET中关于DataList分页的问题悬赏分:20-离问题结束还有12天8小时我在做datalist分页的时候是这样的我的首页要好几个栏目然后点击more的时候他将进入... .NET中关于DataList 分页的问题
悬赏分:20 - 离问题结束还有 12 天 8 小时
我在做datalist分页的时候是这样的
我的首页要好几个栏目 然后点击more的时候他将进入相对应的栏目的more那个里,取出值进行绑定,然后点击下一页的时候,他的下一页将是这个栏目的下一页:比如说有两个栏目最新动态和文件通知,他们两个在数据库里的type_id分别为1,2.然后点击more的时候他将进入相对应的栏目里,然后通过type_id进行数据绑定。我是这样传值的:more.aspx?id=1
然后进入more页面
public partial class more : System.Web.UI.Page
{
public int more_typeid;
public int IDD;
OleDbConnection con;
int PageSize, RecordCount, PageCount, CurrentPage;
public void Page_Load(Object src, EventArgs e)
{

more_typeid = Convert.ToInt32(Request.Params["id"]);

... }
}
由于代码过长,百度只让些3000字。
第一次他可以显示,但是我点击下一页的时候就不行了。
请问我该怎么修改,或者有没有什么更好的方法?
那个PagedDataSource我也尝试过了也没用,他首次加载的时候也是可以的,但是我点击下一页的时候就没用了。
有哪位仁兄知道的给我指点一下,小弟不胜感激!!
more_typeid = Convert.ToInt32(Request.Params["id"]);
ViewState["moreid"] = more_typeid;
con = new ...;
OleDbDataAdapter da = new OleDbDataAdapter("select * from info where info_typeid="+Convert.ToInt32( ViewState["moreid"].ToString())+"",con);
DataSet ds = new DataSet();
da.Fill(ds);
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource=ds.Tables[0].DefaultView ;
objPds.AllowPaging = true;
objPds.PageSize = 10;
int CurPage;
if (Request.QueryString["Page"] != null)
CurPage = Convert.ToInt32(Request.QueryString["Page"]);
else
CurPage = 1;
objPds.CurrentPageIndex = CurPage - 1;
if (!objPds.IsFirstPage)
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath+"?Page=" + Convert.ToString((CurPage-1));
if (!objPds.IsLastPage)
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath +"?Page=" + Convert.ToString(CurPage + 1);
this.Score.DataSource = objPds;
this.Score.DataBind();
展开
 我来答
非典型天秤座
2007-08-14 · TA获得超过1395个赞
知道大有可为答主
回答量:850
采纳率:0%
帮助的人:1354万
展开全部
public void Page_Load(Object src, EventArgs e)
{
if(!IsPostBack)
{
more_typeid = Convert.ToInt32(Request.Params["id"]);
ViewState["moreid"]=more_typeid;
... }
}
}
点下一页的时候传ViewState["moreid"].ToString()
不要传more_typeid,ViewState是页面级别变量,只要还在该页,这个变量值是不变的.
bmlvy2006
2007-08-14 · TA获得超过204个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:158万
展开全部
楼主试用一下ViewState["page"]记录当前页,上下页相应改变其值+1 -1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ahafvbvb
2007-08-14
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
我一般做换页的时候都是在一个数据集里面,根据点击下一页来刷新控件里面的值,比如:第一页显示20条数据,点击下一页那么控件里的值就从第21条开始显示,一次类推,你可以试试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
制作剪贴短视频
2007-08-14 · TA获得超过114个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:127万
展开全部
兄弟你的Page_Load忘了第一次加载的代码了啊;
应该这样:
public void Page_Load(Object src, EventArgs e)
{
if(!IsPostBack)
{
more_typeid=Convert.ToInt32(Request.Params["id"]);
ViewState["moreid"]=more_typeid;
...
}
}
快试试吧,兄弟
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汽车之家违章查询
2007-08-14 · 超过82用户采纳过TA的回答
知道小有建树答主
回答量:473
采纳率:0%
帮助的人:284万
展开全部
if(!IsPostBack)
{
...........
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式