一个自定义的分页,有错误呀!!!!!!!!!!!!!!!

billlyh 2005-05-13 10:46:39
编译器错误信息: 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>


...全文
41 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
koenemy 2005-05-13
  • 打赏
  • 举报
回复
太长了,看不清了有点。。。自点义分页孟子的blog上有一个。。。好用。你去哪看看吧
EKVOD2.0正式版特点: 一、全新的后台设计 1、添加管理影片: 添加影片管理影片更方便,分类添加和管理更加简单化,支持分类别名,分类页模版设置,增加影片专题功能,增加tag标签,增加按字母分类影片,连载管理,推荐管理,影片报错等功能管理! 2、生成静态页管理: 可以一键生成全站,也可以按照分类页生成,也可按照内容页ID生成,可以选择生产当日,或者3天内的影片,生成网站地图,google和baidu地图,rss文件,js文件等,专题生成页面,自定义页面生成等! 3、强大的自定义采集: 可以按照站点添加采集分类,可以整站一键采集,也可以分开采集,操作更加灵活!采集分类设置更加灵活,可以指定分类,也可采集目标站的分类然后按照系统设置的自动转化分类,可以指定只采集最近 几天内的影片,播放器也可以自由选择! 在线规则测试,强大的替换功能,强大的插件支持功能,强大的防盗链突破功能,能让您更方便采集任何站点! 采集入库到临时数据库,方便管理和入库操作,临时数据库管理功能可以方便您修改和管理采集的影片,可以避免因采集错误而造成的网站问题,入库可以设置当遇到同影片时:智能覆盖、地址头部追加、地址尾部追加、覆盖地址、新增数据、仅更新地址以外的信息等,可以选择各种入库方式! 导出导入规则更加方便,导出规则以base64方式加密,分享方便不会丢失数据! 4、模版标签管理: 后置直接管理模版文件,可以编辑、添加模版,模版标签向导等,自定义标签添加管理等! 5、集成高级工具 重复数据检测可以方便您查看数据库里是否有同名的影片,数据批量替换功能让您方便的替换影片数据库里的影片名、影片简介等,删除指定来源功能可以删除指定的来源数据,数据库备份、数据库还原、数据库优化等功能,强大的计划任务功能:可以在制定时间自动执行指定的文件,在需要的情况下,您也可以方便的将其用于程序功能的扩展!文件校验是木马扫描工具可以让您检测您的网站是否被植入恶意程序! 6、扩展选项 后台可以直接设置广告文件,调用广告代码,友情链接管理等! 7、系统设置 系统参数设置:可以在后台一键切换动态运行模式、静态运行模式、伪静态运行模式,可以设置前台文件夹名称,选择运行方式等,设置各种重要设置! 播放器设置,播放来源设置:可以设置播放来源在前台显示的顺序 系统管理员管理,可以设置系统管理员(拥有全部权限) 和网站编辑(只拥有数据管理权限)等 8、在线升级功能 如果有新文件后台会提示升级,直接可以在后台在线升级! 9、资源库在线采集功能 可以直接采集官方资源库,用鼠标点几下就能获得大量的数据! 10、数据库图片在线下载功能 程序自动检测有无外连图片并提示下载,可以突破防盗链的图片 二、强大缓存系统 EKVOD2.0使用全新的缓存方式,可以缓存模版、缓存数据库,在后台直接设置切换,让您的系统运行的更加流畅,生成静态页面更加迅速,后台生成静态页面速度可以达到每秒100页(非最高生成速度),打开动态页面只需要0.00几秒,开启数据库缓存基本不读数据库,可以更大的节省资源! 三、强大而灵活的模版标签: 2.0新增了tag标签,letter字母标签,专辑标签等,更灵活的万能时间标签,万能分页标签等,详情请查看压缩包里的说明文件! 四、可以自定义播放器文件 可以自己设置自己需要的播放器,灵活添加,灵活设置! 五、强大的负载能力和安全过滤功能 数据库设计模式和缓存功能可以承受更大的在线人数,严格的安全过滤经专业代码安全审计人员审计过,让您的系统运行的更安全快捷!

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧