我有一个'商店'页面,其中列出了商店中的所有商品。我有一个排序功能,来决定有多少结果公关。我想看的页面。ASP.Net/C# - Ajax回发传呼机问题
我也有一个寻呼机。该寻呼机由两个按钮(上一页和下一页按钮)和一个显示页码的文本框构成。寻呼机位于页面的顶部和底部。
当我改变文本框,下面的代码火灾文字:
protected void tbPageNumberTop_TextChanged(object sender, EventArgs e)
{
tbPageNumberBottom.Text = tbPageNumberTop.Text;
updpanMain.Update();
}
这将导致一个页面加载,在那里我得到的文本框中的数字,它解析为一个整数,我可以使用动态创建一个SQL请求。这工作完美。
这是我的问题。当我点击“下一步”按钮或“上一步”按钮时,文本框中的文本会发生变化,但是当我从文本框中获取数字时,我会得到文本框的值,因为它是在按钮被单击之前。我如何获得正确的页码?
这里是我的点击代码:
protected void btnNextPage_Click(object sender, EventArgs e)
{
int PageNumber = Convert.ToInt32(tbPageNumberTop.Text);
PageNumber += 1;
tbPageNumberTop.Text = PageNumber.ToString();
tbPageNumberBottom.Text = PageNumber.ToString();
updpanMain.Update();
}
protected void btnPrevPage_Click(object sender, EventArgs e)
{
int PageNumber = Convert.ToInt32(tbPageNumberTop.Text);
PageNumber -= 1;
tbPageNumberTop.Text = PageNumber.ToString();
tbPageNumberBottom.Text = PageNumber.ToString();
updpanMain.Update();
}
而且这里的一对Page_Load中会发生什么
if (!this.IsPostBack)
{
intStartPosition = 0;
intPageNumber = 1;
tbPageNumberBottom.Text = intPageNumber.ToString();
tbPageNumberTop.Text = intPageNumber.ToString();
}
if (tbPageNumberTop.Text != "1" || tbPageNumberBottom.Text != "1")
{
intPageNumber = Convert.ToInt32(tbPageNumberTop.Text);
}
else
{
intPageNumber = 1;
}
intStartPosition = (intPageNumber * intItemsPrPage) - intItemsPrPage;
strResultsPrPage = intItemsPrPage.ToString();
intStartPosition代表我的SQL字符串的第一个LIMIT整数,strResultsPrPage代表第二个整数,即LIMIT 100,500显示结果从500到600.(第5页,每页100个结果)
那么,它是如何与Textbox textchanged事件一起工作?根据您链接的页面,click和textchanged事件应该同时触发(在Load和LoadComplete之间) – MadsMadsDk 2010-09-13 20:35:44