网站采用B/S模式,实现网络自由访问,方便学生使用。实现用户模块,包括用户注册,登陆,修改个人资料等;在线论坛,为学生提供主要交流平台;风采相册,提供图片上传和在线浏览两大功能;管理模块,管理网点各项事务,包括用户管理,论坛管理,相册管理等。与校园网相比,更能促进班级内学生交流学习与进步。管理上利用网络传输速度,具有实时性,有效性等优点。可应用于单班级,以促进学生互相了解,增强班级凝聚力,提高学生整体素质。
目 录
论文总页数:25 页
系统软硬件配置要求
运行本系统需要满足以下的一些配置要求:
硬件环境:服务器端/客户端:处理器:Intel Pentium 4。
内存:128M。
硬盘空间:20G。
软件环境:操作系统:Windows 2000/2003/XP。
网络协议:TCP/IP。
浏览器:Internet Explorer 6.0。
显示器:VGA或更高分辨率的显示器。
班级网站流程图
测试用户登陆页面
用户登陆测试界面
测试用户注册页面
测试论坛页面
测试图片上载页面
测试图片浏览页面
测试留言簿页面
在ASP.NET环境上,以此平台上的主流语言C#设计和实现的班级网站,针对班级这个小的团体,设计提供四大功能模块。用户模块,用户刚开始的进入的站点即进行用户注册,登陆后用户获得有访问其它模块的权力。用户模块还包括个人信息的修改,用户可以有选择性的修改个人的信息。论坛模块是班级用户交流的主要场所,登陆用户可以在此发起自己的帖子,提出自己的问题,同时亦可回复别人的问题。在相册模块的照片上传模块中,可以将自己喜欢的照片上传到班级数据库,同班级的其它成员共同分享。相册浏览页则分页显示了所有上传的图片,登陆后即可浏览。在管理员模块中,管理员管理站点的所有事务。班级网站的建立让同属于一个班级一个专业的学生的交流更加频繁,促使同学之间相互了解,班级更加团结进步。同时利用网络快速的传输速率,更可有效及时处理班级日常事务,亦有效的利用了网络资源。
部分核心代码展示
相册浏览页的设计与帖子浏览页的设计思想基本相同,包括显示主控件myDataList和上传图片超链接按钮。页面设计如图4-3所示:
同样,myDataList也需在后台先进行表的数据绑定与分页,然后在HTML中对表中的列绑定。
(1)后台Page_Load源代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
if (! this.IsPostBack)
{
int TotalPage;
int records;
int page;
if (Request["page"] ==null)
{
page =1;
}
else
{
try
{
page = Convert.ToInt32(Request["page"]);
}
catch
{
page =1;
}
}
Photos photo = new Photos();
DataSet ds;
ds = photo.CurrentPagephotos(page,12,out TotalPage,out records);
lblPage.Text = lblPage2.Text = page + "/" +TotalPage;
lblRecord.Text = lblRecord2.Text = records.ToString();
string sUrl = Request.Url.ToString();
int start = sUrl.LastIndexOf("&page");
if (start != -1)
sUrl = sUrl.Remove(start,sUrl.Length - start);
if (page<=1)
{
hlPrev.NavigateUrl =sUrl+"&page=1";
hlPrev2.NavigateUrl =sUrl+"&page=1";
}
else
{
hlPrev.NavigateUrl = sUrl+"&page=" + (page-1) ;
hlPrev2.NavigateUrl = sUrl+"&page=" + (page-1) ;
}
if (page < TotalPage)
{
hlNext.NavigateUrl =sUrl+"&page=" + (page+1);
hlNext2.NavigateUrl =sUrl+"&page=" + (page+1);
}
else
{
hlNext.NavigateUrl =sUrl+"&page=" +page;
hlNext2.NavigateUrl =sUrl+"&page=" +page;
}
myDataList.DataSource = ds;
myDataList.DataBind();
}
else
{
Response.Redirect("~/users/login.aspx");
}
}
(2)CurrentPagephotos()代码如下:
public DataSet CurrentPagephotos(int currentPage,int pageSize,out int totalPage,out int records)
{
SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
SqlDataAdapter myCommand = new SqlDataAdapter("SelectPhotos", myConnection);
myCommand.SelectCommand.CommandType = CommandType.StoredProcedure;
// 建立并填充一个DataSet。
DataSet allPhotos = new DataSet();
myCommand.Fill(allPhotos);
// 创建一个新的DataSet。
DataSet dsCurrentPhotos = new DataSet();
// 计算所有Photos的条数。
records = allPhotos.Tables[0].Rows.Count;
// 计算当前页第一条Photos的位置。
int startIndex = (currentPage-1)*pageSize;
// 计算当前页最后一条Photos的位置。
int endIndex = startIndex + pageSize;
// 计算Photos的页数。
totalPage = records/pageSize;
if (totalPage*pageSize<records)
{
totalPage++;
}
if (endIndex>records)
endIndex = records;
// 建立一个与dsCurrentPhotos数据结构完全一样的DataSet.
dsCurrentPhotos = allPhotos.Clone();
// 取得当前页的所有记录,并保存到新的DataSet中去。
for (int i=startIndex; i<endIndex; i++)
{
DataRow row = dsCurrentPhotos.Tables[0].NewRow();
row.ItemArray = allPhotos.Tables[0].Rows[i].ItemArray;
dsCurrentPhotos.Tables[0].Rows.Add(row);
}
return dsCurrentPhotos;
}
(3)调用存储过程SelectPhotos代码如下:
CREATE PROCEDURE SelectPhotos AS
Select *
From Photos
GO
(4)最后在HTML页中对其myDataList进行列绑定。绑定形式在前面已有,这里不再给出。