C#自定义表分页问题
我制作了一个asp.net Web应用程序,它将MySQL数据库中的数据显示在一个html表中,这样一次只能看到20行,在一个按钮单击事件中可以看到接下来的20行,依此类推。但是,在第6次单击后,它将显示40行,并且该按钮无法再单击 HTMLC#自定义表分页问题,c#,asp.net,C#,Asp.net,我制作了一个asp.net Web应用程序,它将MySQL数据库中的数据显示在一个html表中,这样一次只能看到20行,在一个按钮单击事件中可以看到接下来的20行,依此类推。但是,在第6次单击后,它将显示40行,并且该按钮无法再单击 HTML <div> <table id="datagrid" runat="server"> </table> <asp:Button OnClick="Unnamed_Click" runat="
<div>
<table id="datagrid" runat="server">
</table>
<asp:Button OnClick="Unnamed_Click" runat="server"/>
</div>
您正在错误地使用
MySQL.LIMIT
子句
这里的问题是什么?在第6次单击后,它将显示40行,而该按钮将无法再单击。相反,需要发生什么?每次单击按钮时都将显示接下来的20行,而不是40行。
count
int minrows = 0;
protected void Page_Load(object sender, EventArgs e)
{
DisplayData();
}
private void DisplayData()
{
if (ViewState["minrows"] != null)
{
minrows = Convert.ToInt16(ViewState["minrows"]);
}
MySqlConnection conn = new MySqlConnection("server=localhost;database=apollo;user=root;password=mysqltest");
MySqlCommand cmd = new MySqlCommand("SELECT Klantnr, Naam, Straat FROM tblklanten LIMIT "+minrows+", 20", conn);
conn.Open();
MySqlDataReader Reader = cmd.ExecuteReader();
while (Reader.Read())
{
HtmlTableRow tr = new HtmlTableRow();
HtmlTableCell td1 = new HtmlTableCell();
HtmlTableCell td2 = new HtmlTableCell();
HtmlTableCell td3 = new HtmlTableCell();
datagrid.Controls.Add(tr);
td1.InnerText = Reader["Klantnr"].ToString();
td2.InnerText = Reader["Naam"].ToString();
td3.InnerText = Reader["Straat"].ToString();
tr.Controls.Add(td1);
tr.Controls.Add(td2);
tr.Controls.Add(td3);
}
Reader.Close();
conn.Close();
}
protected void Unnamed_Click(object sender, EventArgs e)
{
minrows += 20;
ViewState["minrows"] = minrows;
datagrid.Controls.Clear();
DisplayData();
}
"... LIMIT " + minrows + ", " + (maxrows - minrows)