前台:
<td align="left"><span style="font-size:14px">共<asp:Label id="lbSum" enableviewstate="false" Font-Size="small" runat="server" ForeColor="blue">0</asp:Label>条当前:
<asp:label id="lbNowPage1" EnableViewState="False" runat="server" Width="8px" ForeColor="Red">1</asp:label>/<asp:label id="lbTotalPage" EnableViewState="False" runat="server" Width="8px" ForeColor="Blue">1</asp:label>页
<asp:label id="lbHas" EnableViewState="False" runat="server" Width="8px" ForeColor="Blue">1</asp:label>条/页
<asp:Button Font-Names="Webdings" runat="server" ID="Button1" Width="12px" Text="9" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button1_Click" />
<asp:Button Font-Names="Webdings" runat="server" ID="Button2" Width="10px" Text="3" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button2_Click" />
<asp:label id="lbNowPage2" EnableViewState="False" runat="server" Width="8px" ForeColor="Red">1</asp:label>
<asp:Button Font-Names="Webdings" runat="server" ID="Button3" Width="10px" Text="4" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button3_Click" />
<asp:Button Font-Names="Webdings" runat="server" ID="Button4" Width="12px" Text=":" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button4_Click" />
转到第
<asp:TextBox ID="tbGetPage" runat="server" TextMode="SingleLine" SkinID="tbSkin" Width="30px"></asp:TextBox>页
<asp:Button ID="btGo" SkinID="btnSkin" Text="go" runat="server" /></span>
</td>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.lbNowPage2.Text = "1";
this.bind();
}
}
private void bind()
{
string newid = Request.QueryString["id"];
int id = Convert.ToInt32(newid);
DataSet ds = new DataSet();
ds = sp.getds1("getpost", id);//调用的存储过程
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 1;
pds.CurrentPageIndex = Convert.ToInt32(this.lbNowPage2.Text)-1;
this.lbNowPage2.Text = Convert.ToString(pds.CurrentPageIndex+1);
this.Repeater.DataSource = pds;
this.Button1.Enabled = true;
this.Button2.Enabled = true;
this.Button3.Enabled = true;
this.Button4.Enabled = true;
lbTotalPage.Text = pds.PageCount.ToString();
if (pds.CurrentPageIndex < 1 )
{
this.Button1.Enabled = false;
this.Button2.Enabled = false;
}
if (pds.CurrentPageIndex == pds.PageCount - 1)
{
this.Button3.Enabled = false;
this.Button4.Enabled = false;
}
this.Repeater.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)//退两页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text)-2);
this.bind();
}
protected void Button2_Click(object sender, EventArgs e)//退一页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) -1);
this.bind();
}
protected void Button3_Click(object sender, EventArgs e)//进一页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) + 1);
this.bind();
}
protected void Button4_Click(object sender, EventArgs e)//进两页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) + 2);
this.bind();
}
问题,我现在从第一页跳到第二页行的,从第二页跳到第一页就出现这样的问题:索引 -1 不是为负数,就是大于行数。
于是,我测试了一下,
protected void Button2_Click(object sender, EventArgs e)//退一页
{
this.lbNowPage2.Text="2";
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) -1);
this.bind();
}
结果就成功了,为什么,我从第一页跳到第二页的时候,这个this.lbNowPage2.Text就显示为2了?????????(不想用分页控件)
望高手解决!!
<td align="left"><span style="font-size:14px">共<asp:Label id="lbSum" enableviewstate="false" Font-Size="small" runat="server" ForeColor="blue">0</asp:Label>条当前:
<asp:label id="lbNowPage1" EnableViewState="False" runat="server" Width="8px" ForeColor="Red">1</asp:label>/<asp:label id="lbTotalPage" EnableViewState="False" runat="server" Width="8px" ForeColor="Blue">1</asp:label>页
<asp:label id="lbHas" EnableViewState="False" runat="server" Width="8px" ForeColor="Blue">1</asp:label>条/页
<asp:Button Font-Names="Webdings" runat="server" ID="Button1" Width="12px" Text="9" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button1_Click" />
<asp:Button Font-Names="Webdings" runat="server" ID="Button2" Width="10px" Text="3" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button2_Click" />
<asp:label id="lbNowPage2" EnableViewState="False" runat="server" Width="8px" ForeColor="Red">1</asp:label>
<asp:Button Font-Names="Webdings" runat="server" ID="Button3" Width="10px" Text="4" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button3_Click" />
<asp:Button Font-Names="Webdings" runat="server" ID="Button4" Width="12px" Text=":" BackColor="White" BorderColor="White" BorderStyle="None" OnClick="Button4_Click" />
转到第
<asp:TextBox ID="tbGetPage" runat="server" TextMode="SingleLine" SkinID="tbSkin" Width="30px"></asp:TextBox>页
<asp:Button ID="btGo" SkinID="btnSkin" Text="go" runat="server" /></span>
</td>
后台:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.lbNowPage2.Text = "1";
this.bind();
}
}
private void bind()
{
string newid = Request.QueryString["id"];
int id = Convert.ToInt32(newid);
DataSet ds = new DataSet();
ds = sp.getds1("getpost", id);//调用的存储过程
PagedDataSource pds = new PagedDataSource();
pds.DataSource = ds.Tables[0].DefaultView;
pds.AllowPaging = true;
pds.PageSize = 1;
pds.CurrentPageIndex = Convert.ToInt32(this.lbNowPage2.Text)-1;
this.lbNowPage2.Text = Convert.ToString(pds.CurrentPageIndex+1);
this.Repeater.DataSource = pds;
this.Button1.Enabled = true;
this.Button2.Enabled = true;
this.Button3.Enabled = true;
this.Button4.Enabled = true;
lbTotalPage.Text = pds.PageCount.ToString();
if (pds.CurrentPageIndex < 1 )
{
this.Button1.Enabled = false;
this.Button2.Enabled = false;
}
if (pds.CurrentPageIndex == pds.PageCount - 1)
{
this.Button3.Enabled = false;
this.Button4.Enabled = false;
}
this.Repeater.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)//退两页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text)-2);
this.bind();
}
protected void Button2_Click(object sender, EventArgs e)//退一页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) -1);
this.bind();
}
protected void Button3_Click(object sender, EventArgs e)//进一页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) + 1);
this.bind();
}
protected void Button4_Click(object sender, EventArgs e)//进两页
{
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) + 2);
this.bind();
}
问题,我现在从第一页跳到第二页行的,从第二页跳到第一页就出现这样的问题:索引 -1 不是为负数,就是大于行数。
于是,我测试了一下,
protected void Button2_Click(object sender, EventArgs e)//退一页
{
this.lbNowPage2.Text="2";
this.lbNowPage2.Text = Convert.ToString(Convert.ToInt32(this.lbNowPage2.Text) -1);
this.bind();
}
结果就成功了,为什么,我从第一页跳到第二页的时候,这个this.lbNowPage2.Text就显示为2了?????????(不想用分页控件)
望高手解决!!
所在,跟你所说的加个判断的,应该没有什么关系的吧!!!
http://topic.csdn.net/u/20080331/13/b8a84332-fb85-424e-8f87-63a3c15006a3.htmlcan kao xiA