如何开发一个学生成绩管理糸统(8)
2010-05-19 18:38 ScriptZhang 阅读(1699) 评论(19) 编辑 收藏 举报这一节,开始说明WEB层的代码了,
这是设计界面
可以按三种方式来查询课程信息,在基本操作哪里可以进行编辑和删除,点击删除会重新链接当前页面,删除指定项,
点击编辑后,会跳转编辑页面
在列表框第一列是全选,可以对点击后的项目进行全部删除,
导出可以导出当前页面信息的EXcel表格
我现在来说明.cs文件的方法,首先是bindData(),从bLL层取得数据,并填入Repeater,为了结合aspnetpager分页,
我使用了CourseAPI.GetCoursePaged(AspNetPager1.起始项,AspNetPager2.结束项
代码
void bindData()
{
int CountNum = CourseAPI.SclarCourseNum();
TotalNum.Text = CountNum.ToString();
AspNetPager1.RecordCount = CountNum;
Repeater1.DataSource = CourseAPI.GetCoursePaged(AspNetPager1.StartRecordIndex, AspNetPager1.EndRecordIndex, false);
Repeater1.DataBind();
}
在使用这个方法前,实例化
CourseBLL CourseAPI = new CourseBLL();
CourseInfoBLL CourseInfoAPI = new CourseInfoBLL();
再在Page_Load事件中使用bindData();
代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindData();
}
if (Request.QueryString["action"] == "del")
{
int id = CString.TryToParse(Request.QueryString["id"]);
if (CourseAPI.DeleteCourse(id)&&CourseInfoAPI.DeleteCourseInfo(id))
AlertMessage.Redirect(this, "删除成功", "Course.aspx");
}
}
在点击aspnetpager的分页按键的时候,再执行以下代码
代码
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
if (Search_value.Text == "")
{
bindData();
}
else
{
searchOrders();
}
}
执行程序后页面如这样,
aspnetpager是一个相当好用的分页控件,
这里是网站
然后 就是按3种方式进行查找,考虑数据不多,我使用 PagedDataSource 来
protected void Btn_Search_Click(object sender, EventArgs e)
{
searchOrders();
}
进行分页,
代码
void searchOrders()
{
string Search_Str = Search_value.Text.ToString();
if (Search_Str != "")
{
DataView dv = new DataView();
DataTable dt = new DataTable();
switch (Search_style.SelectedValue.ToString())
{
case "1":
dt = CourseAPI.GetCourseByKname(Search_Str);
break;
case "2":
dt = CourseAPI.GetCourseByTerm(Search_Str);
break;
case "3":
dt = CourseAPI.GetCourseByKId(CString.TryToParse(Search_Str));
break;
}
dv = dt.DefaultView;
int Totalnum = dv.Count;
AspNetPager1.RecordCount = Totalnum;
TotalNum.Text = Totalnum.ToString();
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dv;
pds.AllowPaging = true;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
pds.PageSize = AspNetPager1.PageSize;
Repeater1.DataSource = pds;
Repeater1.DataBind();
}
else
{
AlertMessage.showMsg(this, "请输入查询字符");
}
}
点击运行搜索方法
protected void Btn_Search_Click(object sender, EventArgs e)
{
searchOrders();
}
如果要显示全部数据,哪就得点击一下显示全部,
protected void Show_all_Click(object sender, EventArgs e)
{
bindData();
Search_value.Text = "";
AspNetPager1.CurrentPageIndex = 0;
}
下一节,我说一下如何增加数据,还有在DAL层加上事务支持。