您好,欢迎访问三七文档
1ASP.NET网站开发校园新闻发布系统21.需求分析在需求阶段应该将用户的功能需求描述清楚。使用建模软件(如Visio、RationalRose)对系统进行需求分析,并画出系统功能模块图、用例图;新闻发布系统功能分析•系统包含的用户管理员:发布、修改、删除新闻浏览者:查看新闻•系统包含的功能新闻类别管理新闻管理新闻查看3新闻发布系统功能模块图•功能模块图用图直观的描述系统的功能模块新闻发布系统前台管理后台管理新闻查询列表新闻详细信息显示新闻类别管理新闻管理删除新闻修改新闻添加新闻删除新闻类别修改新闻类别添加新闻类别4新闻发布系统用例图从用户的角度看系统,系统为不同类别的用户提供的功能浏览者新闻查询列表新闻详细信息显示管理员填加新闻修改新闻删除新闻填加新闻类别修改新闻类别删除新闻类别52.系统设计什么是系统设计?系统设计包括哪些?•系统设计作为软件开发流程中需求分析之后的一个环节,主要是根据需求分析,完成系统的设计。•系统设计一般包括:(1)概要设计(2)详细设计(3)数据库设计6总体设计•时序图:用户和系统之间交互(动作)的先后顺序例如:新闻类别添加时序图::管理员登陆添加新闻类别1.输入登陆信息3.提交添加新闻类别请求数据库操作4.显示添加新闻类别信息7.显示处理结果2.登陆成功5.提交添加新闻类别请求6.处理添加请求7数据库设计•根据新闻发布系统的需求分析及总体设计,新闻发布系统数据库中涉及到的数据表有:新闻类别表UT_News_NewsType新闻表UT_News_NewsContent管理员表UT_Sys_Admin8数据表结构系统管理员表新闻类别表•新闻表9视图•为了简化SQL语句,提高查询数据的速度,在数据库中建立了视图供页面查询数据使用的视图UV_News_NewsInfo10子任务1系统登录页面设计3.后台程序实现11界面设计步骤:1.新建网站“学校新闻发布系统”2.进入Default.aspx页面设计窗口,选择“布局”——“插入表”,10行、6列3.将最上面一行合并单元格,并插入Logo图片•可以在网站目录中添加images目录存放图片资源;•将图片直接拖放到表格中4.左边一列合并单元格,插入一个6行4列的表格,放置登录使用的控件包括4个Label、4个TextBox、3个Button和1个DropDownList。3个RequiredFieldValidator、1个CompareValidator和1个ValidationSummary验证控件如CompareValidator1用于验证用户输入的验证码是否正确:ControlToCompare:txtCreateCodeControlToValidate:txtCodeDisplay:DynamicErrorMessage:验证码有误Text:*12身份列表框:设置Items属性,将学生项的Selected设为TrueValidationSummary控件:ShowMessageBox=true;ShowSummary=false;另外分别设置“登录”按钮,及验证控件的ValidationGroup属性为”G1”13后台代码的编写:数据库连接字符串:在Web.config中保存连接字符串connectionStringsaddname=strConnconnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\\工作\\11年秋\\09.net\\example\\网站\\学校新闻发布系统\\App_Data\\OnlineExamDB.mdb//connectionStringsstaticstringstrConn=ConfigurationManager.ConnectionStrings[“strConn”].ToString();//静态变量OleDbConnectionmyConn=newOleDbConnection(strConn);stringtmp;//用于存放验证码14Load事件protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack)//页面首次加载时执行{tmp=RndNum(4);//随机产生4位验证码txt_CreateCode.Text=tmp;//显示验证码txt_CreateCode.ReadOnly=true;//只读}}15stringRndNum(intVcodeNum){stringMaxNum=;stringMinNum=;for(inti=0;iVcodeNum;i++)MaxNum=MaxNum+9;MinNum=MaxNum.Remove(0,1);Randomrd=newRandom();//随机产生999~9999之间的数stringVNum=Convert.ToString(rd.Next(Convert.ToInt32(MinNum),Convert.ToInt32(MaxNum)));returnVNum;}Random.Next(intMinNum,intmaxNum);随机产生一个数16点击“登录”按钮•当下拉列表框中未选择管理员身份,弹出提示对话框•当选择了管理员身份,但账号或密码输入错误时,弹出提示页面•输入正确进入后台新闻类别管理页面弹出对话框可以采用执行JavaScript的方法:Response.Write(scriptalert('您不是管理员');location='Default.aspx'/script);Alert——对话框;location关闭对话框后进入哪个页面;17protectedvoidbtnlogin_Click(objectsender,EventArgse){if(txtCode.Text==txt_CreateCode.Text)//验证码输入一致{if(ddlstatus.SelectedItem.Text==管理员)//下拉列表框选择管理员{if(CheckAdmin(txtNum.Text.Trim(),txtPwd.Text.Trim()))//检查管理员的账号和密码Response.Redirect(Admin/News/NewsTypeManage.aspx);elseResponse.Write(scriptalert('用户名或密码错误');location='Default.aspx'/script);}elseResponse.Write(scriptalert('您不是管理员');location='Default.aspx'/script);}}18//检查用户输入的用户名和密码是否正确boolCheckAdmin(stringadminNum,stringadminPwd){if(myConn.State==ConnectionState.Closed)myConn.Open();OleDbCommandmyComm=newOleDbCommand(selectcount(*)fromUT_Sys_AdminwhereAdminName='+adminNum+'andPWD='+adminPwd+',myConn);if(Convert.ToInt32(myComm.ExecuteScalar())0)returntrue;elsereturnfalse;}19新闻分类管理页面•1.在网站中增加目录:Admin\News•2.新建NewsTypeManage.aspx页面•3.插入8行、3列的表格,合并相关单元格、添加Loge图片、添加4个HyperLink控件和Repeater控件。•HyperLink控件的Text属性和NavigateUrl属性•如HyperLink1控件的Text=“返回主页”;NavigateUrl=“~/Default.aspx”编写代码:2021protectedvoidbtnSumbit_Click(objectsender,EventArgse){stringstrsql=insertintoUT_News_NewsType(NewsTypeName)values('+txtTypeName.Text.Trim()+');OperateData(strsql);stringstrSql=select*fromUT_News_NewsType;this.rp_News_Type.DataSource=this.GetNewsTypeList(strSql);this.rp_News_Type.DataBind();stringsMessage=新闻分类名称+txtTypeName.Text.Trim()+插入成功!;stringsURL=NewsTypeManage.aspx;Response.Write(scriptalert('+sMessage+');location.href='+sURL+'/script);}“增加新闻类别”按钮22在Load中查询数据库,在Repeater中显示新闻类别列表:调用自定义函数GetNewsTypeList();返回新闻类型的所有内容publicDataTableGetNewsTypeList(stringsqlCommand){//打开数据库连接if(con.State==0){con.Open();}//定义并初使化数据适配器stringstrSql=sqlCommand;SqlDataAdaptermydataadapter=newSqlDataAdapter(strSql,con);//创建一个数据集mydatasetDataSetmydataset=newDataSet();//将数据适配器中的数据填充到数据集中mydataadapter.Fill(mydataset);returnmydataset.Tables[0];}23在Load事件中,绑定Repeater的数据源protectedvoidPage_Load(objectsender,EventArgse){//调用GetNewsTypeList(),绑定Repeater控件,显示类别列表stringstrSql=select*fromUT_News_NewsType;rp_News_Type.DataSource=GetNewsTypeList(strSql);rp_News_Type.DataBind();}24设置Repeater控件的模板代码HeaderTemplatetableborder=2style=vertical-align:middle;text-align:center;trstyle=background-color:#009AFF;vertical-align:middle;text-align:center;tdstyle=vertical-align:middle;width:200px;height:50px;text-align:center;新闻分类名称/tdtdstyle=vertical-align:middle;width:100px;height:50px;text-align:center;修改按钮/tdtdstyle=vertical-align:middle;width:100px;height:50px;text-align:center;删除按钮/td/tr/HeaderTemplate标题行的设置tr代表TableRowtd代表单元格25ItemTemplate%#Eval(NewsTypeName)%ahref='../../Admin/News/ModifyNewsType.aspx?NewsTypeID=%#Eval(ID)%'target=_blank修改/a
本文标题:C校园新闻发布系统
链接地址:https://www.777doc.com/doc-1468465 .html