private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
int intNextPageIndex = Convert.ToInt32( Session["page"] ) + 1;
Response.Redirect( "g1messegedisp.aspx?page=" + intNextPageIndex.ToString() );
}
程序不进入PageLoad里,这样我写在PageLoad里的
if ( Request.QueryString["page"] == null || Request.QueryString["page"].ToString() == "" )
Session["page"] = 1 ;
else
Session["page"] = Convert.ToInt32( Request.QueryString["page"] );
就无法执行了,想问问大家我应该是哪里出的问题,谢谢.
35 个解决方案
#1
ding
#2
请使用aspnetpager分页工具.自定义分页啦.简单多啦
#3
如果想省事就用DATAGRID,里面有分页功能很简单.
在PageIndexChanged事件中写上如下代码并将datagrid设置为分页就行了
datagrid1.CurrentPageIndex = e.NewPageIndex;
在PageIndexChanged事件中写上如下代码并将datagrid设置为分页就行了
datagrid1.CurrentPageIndex = e.NewPageIndex;
#4
试问你的g1messegedisp.aspx个页面是否是你要做分页的页面,如果是,你做Response.Redirect("g1messegedisp.aspx?page=" + intNextPageIndex.ToString());的操作,肯定会重新进行page_load操作的,因为你页面上的操作,首先进行page_load()操作,然后执行private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
这里的操作,但是你在private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
操作中又招待了,Response.Redirect()页面重转移操作,那么,page_load操作还是要执行的。
因此你所说的情况不可能出现。你可以设置段点测试一下。
顶.....
这里的操作,但是你在private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
操作中又招待了,Response.Redirect()页面重转移操作,那么,page_load操作还是要执行的。
因此你所说的情况不可能出现。你可以设置段点测试一下。
顶.....
#5
你的Response.Redirect( "g1messegedisp.aspx?page=" + intNextPageIndex.ToString() );是重定向到自己吗?
如果是则则注意你的PageLoad()将调用两次
1、在你的IMG5_Click执行前
2、在你的Response.Redirect之后
如果是则则注意你的PageLoad()将调用两次
1、在你的IMG5_Click执行前
2、在你的Response.Redirect之后
#6
libaconnet(闲居散人)分析正确.
#7
将
if ( Request.QueryString["page"] == null || Request.QueryString["page"].ToString() == "" )
改成
if ( Request["page"] == null || Request["page"].ToString() == "" )
试试。
if ( Request.QueryString["page"] == null || Request.QueryString["page"].ToString() == "" )
改成
if ( Request["page"] == null || Request["page"].ToString() == "" )
试试。
#8
http://www.qqday.net/web/ASPNET/NETFramework/27.asp
#9
我的PageLoad在换页过程中只调用了一次,在在你的IMG5_Click执行前执行的,if (page.postback)里的代码.
#10
我再顶
#11
争取在下班前解决问题,再顶
#12
帮顶,接分
#13
问题就在你这句话上:if(page.postback)
这句话的意思是说只有是回传页时才执行if中的语句,而你Response.redirect后,它是中断当前请求,了另一个请求来重新访问该页面.你要换成if(!Page.postback)它肯定走这句话
这句话的意思是说只有是回传页时才执行if中的语句,而你Response.redirect后,它是中断当前请求,了另一个请求来重新访问该页面.你要换成if(!Page.postback)它肯定走这句话
#14
我代码里写的是if (!Page.IsPostBack){...}else{...}
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
#15
mark
#16
搬把椅子
#17
?
#18
关注
#19
我也有同样的问题,可是没分发帖子问了
#20
学习
#21
我再顶,老大们,分不够我再开帖啊,帮帮忙啊
#22
还没解决?
把你的代码贴上来,大家好帮你实际解决
把你的代码贴上来,大家好帮你实际解决
#23
我代码里写的是if (!Page.IsPostBack){...}else{...}
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
解釋如下
-----------------------------------------------------------------
Response.Redirect()一般都是用於從某一頁面跳轉到的另一頁面,跳轉就是一個新的請求,而頁面能夠試別IsPostBack,主要是ViewState機制實現,而Response.Redirect就是一跳轉到另一頁,是新的請求,即肯定是第一次訪問啊
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
解釋如下
-----------------------------------------------------------------
Response.Redirect()一般都是用於從某一頁面跳轉到的另一頁面,跳轉就是一個新的請求,而頁面能夠試別IsPostBack,主要是ViewState機制實現,而Response.Redirect就是一跳轉到另一頁,是新的請求,即肯定是第一次訪問啊
#24
對上再強調Response.Redirect,哪怕是跳轉到同一頁面,也是一個新的請求
#25
1.用DataGrid实现,简单多了
2.将Button改为Label,具体写法如下:
label.Text = <a herf="g1messegedisp.aspx?page=" + intNextPageIndex.ToString()>下一页</a>
2.将Button改为Label,具体写法如下:
label.Text = <a herf="g1messegedisp.aspx?page=" + intNextPageIndex.ToString()>下一页</a>
#26
up
#27
可以把数据源翻一页再重新绑定.
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objDs.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 20;
int CurPage;
在事件函数里将objPds.CurrentPageIndex值更新,再重新绑定.
Repeater1.DataSource=objPds;
Repeater1.DataBind();
这样再也不用靠传参数翻页了.
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objDs.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 20;
int CurPage;
在事件函数里将objPds.CurrentPageIndex值更新,再重新绑定.
Repeater1.DataSource=objPds;
Repeater1.DataBind();
这样再也不用靠传参数翻页了.
#28
反正都是用session,你就要传过去啊!用session试度啊!还有就是你把判断去掉试一下,看它是否会走Page_Load,如果会走的话,那就证明你的判断有错了
#29
一个分页,用session,强烈不推荐!
#30
用datagrid的自动分页实现最好!(简单,数据量不大)
用存储过程分页对页面实现比较困难,但在数据量大的时候效率比较好!
我在编写asp.net实现分页的时候都采用这两种结合的方法。不知道Repeater可以分页.
不过我也觉得用session不好!
ding..................
用存储过程分页对页面实现比较困难,但在数据量大的时候效率比较好!
我在编写asp.net实现分页的时候都采用这两种结合的方法。不知道Repeater可以分页.
不过我也觉得用session不好!
ding..................
#31
to 楼主:
没有理由的,若用Response.Redirect(".aspx")
它必定执行if(!IsPostBack) 看看程序有无其它方面问题
没有理由的,若用Response.Redirect(".aspx")
它必定执行if(!IsPostBack) 看看程序有无其它方面问题
#32
对不起大家,我是白痴,我缺心眼,
我把Response.Redirect后面的页面地址写错了,
非常抱歉耽误了大家这么多宝贵时间
感谢大家的积极参与
结帖了
我把Response.Redirect后面的页面地址写错了,
非常抱歉耽误了大家这么多宝贵时间
感谢大家的积极参与
结帖了
#33
呵呵!!
#34
eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,能够解决在IE浏览器中打印各种复杂的中国式报表及票据。
#35
搬把椅子
#1
ding
#2
请使用aspnetpager分页工具.自定义分页啦.简单多啦
#3
如果想省事就用DATAGRID,里面有分页功能很简单.
在PageIndexChanged事件中写上如下代码并将datagrid设置为分页就行了
datagrid1.CurrentPageIndex = e.NewPageIndex;
在PageIndexChanged事件中写上如下代码并将datagrid设置为分页就行了
datagrid1.CurrentPageIndex = e.NewPageIndex;
#4
试问你的g1messegedisp.aspx个页面是否是你要做分页的页面,如果是,你做Response.Redirect("g1messegedisp.aspx?page=" + intNextPageIndex.ToString());的操作,肯定会重新进行page_load操作的,因为你页面上的操作,首先进行page_load()操作,然后执行private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
这里的操作,但是你在private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
操作中又招待了,Response.Redirect()页面重转移操作,那么,page_load操作还是要执行的。
因此你所说的情况不可能出现。你可以设置段点测试一下。
顶.....
这里的操作,但是你在private void IMG5_Click(object sender, System.Web.UI.ImageClickEventArgs e)
操作中又招待了,Response.Redirect()页面重转移操作,那么,page_load操作还是要执行的。
因此你所说的情况不可能出现。你可以设置段点测试一下。
顶.....
#5
你的Response.Redirect( "g1messegedisp.aspx?page=" + intNextPageIndex.ToString() );是重定向到自己吗?
如果是则则注意你的PageLoad()将调用两次
1、在你的IMG5_Click执行前
2、在你的Response.Redirect之后
如果是则则注意你的PageLoad()将调用两次
1、在你的IMG5_Click执行前
2、在你的Response.Redirect之后
#6
libaconnet(闲居散人)分析正确.
#7
将
if ( Request.QueryString["page"] == null || Request.QueryString["page"].ToString() == "" )
改成
if ( Request["page"] == null || Request["page"].ToString() == "" )
试试。
if ( Request.QueryString["page"] == null || Request.QueryString["page"].ToString() == "" )
改成
if ( Request["page"] == null || Request["page"].ToString() == "" )
试试。
#8
http://www.qqday.net/web/ASPNET/NETFramework/27.asp
#9
我的PageLoad在换页过程中只调用了一次,在在你的IMG5_Click执行前执行的,if (page.postback)里的代码.
#10
我再顶
#11
争取在下班前解决问题,再顶
#12
帮顶,接分
#13
问题就在你这句话上:if(page.postback)
这句话的意思是说只有是回传页时才执行if中的语句,而你Response.redirect后,它是中断当前请求,了另一个请求来重新访问该页面.你要换成if(!Page.postback)它肯定走这句话
这句话的意思是说只有是回传页时才执行if中的语句,而你Response.redirect后,它是中断当前请求,了另一个请求来重新访问该页面.你要换成if(!Page.postback)它肯定走这句话
#14
我代码里写的是if (!Page.IsPostBack){...}else{...}
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
#15
mark
#16
搬把椅子
#17
?
#18
关注
#19
我也有同样的问题,可是没分发帖子问了
#20
学习
#21
我再顶,老大们,分不够我再开帖啊,帮帮忙啊
#22
还没解决?
把你的代码贴上来,大家好帮你实际解决
把你的代码贴上来,大家好帮你实际解决
#23
我代码里写的是if (!Page.IsPostBack){...}else{...}
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
解釋如下
-----------------------------------------------------------------
Response.Redirect()一般都是用於從某一頁面跳轉到的另一頁面,跳轉就是一個新的請求,而頁面能夠試別IsPostBack,主要是ViewState機制實現,而Response.Redirect就是一跳轉到另一頁,是新的請求,即肯定是第一次訪問啊
IMG5_Click执行前执行的执行的是else{...}
Response.Redirect之后没有执行if (!Page.IsPostBack){...}这部分的代码,我想知道是为什么?
解釋如下
-----------------------------------------------------------------
Response.Redirect()一般都是用於從某一頁面跳轉到的另一頁面,跳轉就是一個新的請求,而頁面能夠試別IsPostBack,主要是ViewState機制實現,而Response.Redirect就是一跳轉到另一頁,是新的請求,即肯定是第一次訪問啊
#24
對上再強調Response.Redirect,哪怕是跳轉到同一頁面,也是一個新的請求
#25
1.用DataGrid实现,简单多了
2.将Button改为Label,具体写法如下:
label.Text = <a herf="g1messegedisp.aspx?page=" + intNextPageIndex.ToString()>下一页</a>
2.将Button改为Label,具体写法如下:
label.Text = <a herf="g1messegedisp.aspx?page=" + intNextPageIndex.ToString()>下一页</a>
#26
up
#27
可以把数据源翻一页再重新绑定.
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objDs.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 20;
int CurPage;
在事件函数里将objPds.CurrentPageIndex值更新,再重新绑定.
Repeater1.DataSource=objPds;
Repeater1.DataBind();
这样再也不用靠传参数翻页了.
PagedDataSource objPds = new PagedDataSource();
objPds.DataSource = objDs.Tables[0].DefaultView;
objPds.AllowPaging = true;
objPds.PageSize = 20;
int CurPage;
在事件函数里将objPds.CurrentPageIndex值更新,再重新绑定.
Repeater1.DataSource=objPds;
Repeater1.DataBind();
这样再也不用靠传参数翻页了.
#28
反正都是用session,你就要传过去啊!用session试度啊!还有就是你把判断去掉试一下,看它是否会走Page_Load,如果会走的话,那就证明你的判断有错了
#29
一个分页,用session,强烈不推荐!
#30
用datagrid的自动分页实现最好!(简单,数据量不大)
用存储过程分页对页面实现比较困难,但在数据量大的时候效率比较好!
我在编写asp.net实现分页的时候都采用这两种结合的方法。不知道Repeater可以分页.
不过我也觉得用session不好!
ding..................
用存储过程分页对页面实现比较困难,但在数据量大的时候效率比较好!
我在编写asp.net实现分页的时候都采用这两种结合的方法。不知道Repeater可以分页.
不过我也觉得用session不好!
ding..................
#31
to 楼主:
没有理由的,若用Response.Redirect(".aspx")
它必定执行if(!IsPostBack) 看看程序有无其它方面问题
没有理由的,若用Response.Redirect(".aspx")
它必定执行if(!IsPostBack) 看看程序有无其它方面问题
#32
对不起大家,我是白痴,我缺心眼,
我把Response.Redirect后面的页面地址写错了,
非常抱歉耽误了大家这么多宝贵时间
感谢大家的积极参与
结帖了
我把Response.Redirect后面的页面地址写错了,
非常抱歉耽误了大家这么多宝贵时间
感谢大家的积极参与
结帖了
#33
呵呵!!
#34
eprint自定义打印是一个页面套打工具.它直接在IE浏览器中可视化的设计各种复杂的打印模版,能够解决在IE浏览器中打印各种复杂的中国式报表及票据。
#35
搬把椅子