读书人

为什么小弟我的按钮需要点击两次才执行

发布时间: 2011-12-23 23:32:01 作者: rapoo

为什么我的按钮需要点击两次才执行事件?
一个分页的跳转按钮,第一次点击只执行PAGE_LOAD,点第二次才执行事件.

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
System.Data.DataTable allList = (new BLL.Item()).ViewItemList(1).Tables[0];


PagedDataSource objPage=new PagedDataSource();//创建分页类
objPage.DataSource=allList.DefaultView ;//设置数据源

objPage.AllowPaging=true;
objPage.PageSize=5;

if(Request.QueryString[ "Page "]!=null)
{
CurPage=Convert.ToInt32(Request.QueryString[ "Page "]);
CurPage=Math.Min(CurPage,objPage.PageCount);
CurPage=Math.Max(CurPage,1);
}
else
CurPage=1;
objPage.CurrentPageIndex=CurPage-1;
TotalPage=objPage.PageCount;
Tnum=objPage.DataSourceCount;
EachPage=objPage.Count;
lblCurPage.Text= "第 "+CurPage.ToString()+ " / "+TotalPage.ToString()+ " 页 ";
lblTnum.Text= "共: " +Tnum+ " 条记录 ";
lblEachPage.Text= "每页有: "+EachPage.ToString()+ " 条记录 ";



if(objPage.CurrentPageIndex!=0)
lnkFirst.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(1);
if(objPage.CurrentPageIndex!=TotalPage-1)
lnkLast.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(TotalPage);

if(!objPage.IsFirstPage)
lnkPrev.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(CurPage-1);
if(!objPage.IsLastPage)
lnkNext.NavigateUrl=Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(CurPage+1);

reItemList.DataSource= objPage;
reItemList.DataBind();
}
}

private void btnPage_Click(object sender, System.EventArgs e)
{
int PageNum=0;
if( !Request.Form[ "txtPage "].Equals( " ") )
PageNum=Convert.ToInt32(Request.Form[ "txtPage "]);
if(PageNum <=0 || PageNum> TotalPage)
Response.Redirect(Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(1));
else
Response.Redirect(Request.CurrentExecutionFilePath+ "?Page= "+Convert.ToString(PageNum));
}

[解决办法]
太长了,把代码精简些吧

[解决办法]
可能是这样,第一次是注册,第二次才执行!

没有看代码,猜的!

读书人网 >asp.net

热点推荐