一个自定义的分页,有错误呀!!!!!!!!!!!!!!!
编译器错误信息: CS0246: 找不到类型或命名空间名称“nextButton”(是否缺少 using 指令或程序集引用?)
源错误:
行 33: {
行 34: if ( (int)ViewState[ "PageNumber" ] == (int)ViewState[ "PageCount" ] )
行 35: nextButton.Enabled = false;
行 36: else
行 37: nextButton.Enabled = true;
<%@ Page ASPCompat="true" Explicit="false" Debug="true" Language="C#"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Collections" %>
<%@ Import Namespace="System.ComponentModel" %>
<%@ Import Namespace="System.Web" %>
<%@ Import Namespace="System.Web.UI" %>
<%@ Import Namespace="System.Web.UI.WebControls" %>
<Script Runat="Server">
const int PageSize = 10;
SqlDataAdapter myAdapter;
String sqlString;
String sql;
DataSet myDataSet;
SqlCommand cmd;
void Page_Load( Object s, EventArgs e )
{
SqlConnection myConnection = new SqlConnection("Server=localhost;uid=sa;pwd=sa;database=job");
if (!IsPostBack)
{
ViewState[ "PageNumber" ] = 0;
ViewState[ "PageCount" ] = getPageCount();
ViewState[ "startProductID" ] = -1;
ViewState[ "endID" ] = -1; //ViewState?????
moveNext();
}
}
void Page_PreRender( Object s, EventArgs e )
{
if ( (int)ViewState[ "PageNumber" ] == (int)ViewState[ "PageCount" ] )
nextButton.Enabled = false;
else
nextButton.Enabled = true;
if ( (int)ViewState[ "PageNumber" ] == 1 )
prevButton.Enabled = false;
else
prevButton.Enabled = true;
}
int getPageCount()
{
sqlString = "Select Count(*) theCount From company";
SqlCommand myCommand = new SqlCommand( sqlString, myConnection );
myConnection.Open();
double theCount = (int)myCommand.ExecuteScalar();
myConnection.Close();
return (int)Math.Ceiling( theCount / PageSize );
}
void pageGrid( Object s, EventArgs e )
{
if ( ( ( LinkButton ) s).CommandArgument == "Next" )
moveNext();
else
movePrevious();
}
void moveNext()
{
sqlString = "Select Top " + PageSize.ToString() + " * from company Where ID > " + ViewState[ "endID" ].ToString();
myAdapter = new SqlDataAdapter( sqlString, myConnection );
myDataSet = new DataSet();
myAdapter.Fill( myDataSet, "company" );
myDataGrid.DataSource = myDataSet;
myDataGrid.DataBind();
ViewState[ "PageNumber" ] = (int)ViewState[ "PageNumber" ] + 1;
ViewState[ "startProductID" ] = myDataSet.Tables[ "company" ].Rows[ 0 ][ "ID", DataRowVersion.Current ];
int lastRowIndex = myDataSet.Tables[ "company" ].Rows.Count - 1;
ViewState[ "endID" ] = myDataSet.Tables[ "company" ].Rows[ lastRowIndex ][ "ID", DataRowVersion.Current ];
}
void movePrevious()
{
sqlString = "Select Top " + PageSize.ToString() + " * from company Where ID < " + ViewState[ "startProductID" ].ToString() + " Order By ID DESC";
myAdapter = new SqlDataAdapter( sqlString, myConnection );
myDataSet = new DataSet();
myAdapter.Fill( myDataSet, "company" );
DataView myDataView = myDataSet.Tables[ "company" ].DefaultView;
myDataView.Sort = "ID";
myDataGrid.DataSource = myDataView;
myDataGrid.DataBind();
int lastRowIndex = myDataSet.Tables[ "company" ].Rows.Count - 1;
ViewState[ "PageNumber" ] = (int)ViewState[ "PageNumber" ] - 1;
ViewState[ "startProductID" ] = myDataSet.Tables[ "company" ].Rows[ lastRowIndex ][ "ID", DataRowVersion.Current ];
ViewState[ "endID" ] = myDataSet.Tables[ "company" ].Rows[ 0 ][ "ID", DataRowVersion.Current ];
}
</Script>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<head><title>more.aspx</title></head>
<body>
<form Runat="Server">
<asp:DataGrid
id="myDataGrid"
AutoGenerateColumns="False"
cellpadding=3
Runat="Server">
<Columns>
<asp:BoundColumn HeaderText="ID" DataField="ID"/>
<asp:BoundColumn HeaderText="Product ID" DataField="cname"/>
<asp:BoundColumn HeaderText="Product Name" DataField="zwxq"/>
</Columns>
</asp:DataGrid>
<p>
<asp:LinkButton
id="prevButton"
Text="<< Previous"
onClick="pageGrid"
commandArgument="Previous"
Runat="Server"/>
<asp:LinkButton
id="nextButton"
Text="Next >>"
onClick="pageGrid"
commandArgument="Next"
</form>
</body>
</html>