ASPNET网站首页及内容页动态实现实验步骤.doc_第1页
ASPNET网站首页及内容页动态实现实验步骤.doc_第2页
ASPNET网站首页及内容页动态实现实验步骤.doc_第3页
ASPNET网站首页及内容页动态实现实验步骤.doc_第4页
ASPNET网站首页及内容页动态实现实验步骤.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 添加母版页1.点击文件菜单中的“添加文件”。图12.从default1.aspx中复制以下代码到master页面的代码视图中并覆盖图2中的高亮部分的代码图2南溪门户网-首页 acolor:#000;font-size:14px;text-decoration:none; a:hover color:#f00; background-color:Transparent;text-decoration:underline; .menuacolor:#fff;font-size:14px;text-decoration:none;font-weight:Bold;/*一般状态下的颜色为白色,14号字体,无下划线*/ .menua:hover color:#f00; background-color:Transparent;text-decoration:underline;font-weight:Bold;/*加上:hover表示当鼠标放置在超级链接上时文字颜色变为红色,背景变为透明,文字修饰加上下划线*/ .voiddiv position:relative;margin:auto; text-align:center;width:1010px;background-color:#fff; li color:#99ab77; li a text-decoration:none; line-height:28px; overflow:hidden;   首  页 走进南溪 今日南溪 信息公开 公众参与 便民服务 投资南溪 专题报道 综合资讯 市民论坛   最新头条: “喜迎十八大”中国.时代领跑者大型绘画、书法、摄影展公益系列活动在我区启动 3. 给模板内容外的层添加class为voiddiv,见如下代码: 在设计视图中查看效果如图3图34.在源码视图中栏目所在的div加上ID并转换为服务器控件(id=menudiv runat=server),见下图高亮显示部分。5.在MasterPage.master.cs文件的page_load事件中输入如下代码if (!IsPostBack) BLL_Article columnlist = new BLL_Article();/实例化业务逻辑层中的类BLL_Article menudiv.InnerHtml = columnlist.GetMenuBar();/调用类BLL_Article中的栏目生成方法产生一级菜单栏目 6.在资源管理器的APP_Code文件夹中创建一个逻辑访问层的文件夹BLL,并在BLL文件夹下创建一个类BLL_Article。在类中添加引用using System.Data.OleDb;并输入方法GetMenuBar()的代码,如下所示:using System.Data.OleDb;/ / 业务逻辑层的类BLL_Article 的摘要说明/ public class BLL_Article public string GetMenuBar()/获取一级菜单栏目 string strHtml, Column_url; int i; string Connstr = System.Configuration.ConfigurationManager.AppSettingsaccessconn; /建立链接对象 OleDbConnection conn = new OleDbConnection(Connstr); /建立命令对象,这里栏目表bt_Column和模板表bt_Template进行了主外键关联,主要目的是为了获取对于栏目的显示模板页面如ColumnCmd.aspx,ArticleCmd.aspx等 OleDbCommand comm = new OleDbCommand(select bt_Column.*,TemplatePath from bt_Column,bt_Template Where ColumnVisible=1 and bt_Template.Template_ID=bt_Column.ColumnTemplate_ID and Parent_Column=-1 order by ColumnOrder, conn); if (conn.State = ConnectionState.Closed) conn.Open(); OleDbDataReader rs = comm.ExecuteReader(); i = 1; /将栏目表中的所有一级栏目拼凑成一个表格,并将超级链接的class设为menua strHtml = ; strHtml +=   strHtml += 首  页; strHtml += ; while (rs.Read() strHtml += ;/每个栏目宽度为80像素,不自动换行 strHtml += + rsColumnName.ToString() + ;/直接链接URL地址 else strHtml += href= + rsTemplatePath.ToString() + ?CID= + rsColumn_ID.ToString() + + rsColumnName.ToString() + ;/根据栏目表中的栏目模板指定点击该栏目后将调用哪个模板页面显示内容 strHtml += ; strHtml += ;/设置竖状装分隔线 i+; rs.Close(); strHtml += ;/当新闻栏目比较少的时候用于撑开栏目宽度用 strHtml +=  /设置竖状装分隔线 strHtml += ; return strHtml;注意:一般意义的三层结构为:(1).表示层(USL - User Show Layer):主要表示WEB方式,也可以表示成WINFORM方式。如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。(2).业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。(3).数据访问层(DAL - Data Access Layer):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。7.在资源管理器面板的masterpage.master页面上点击鼠标右键添加内容页Default.aspx 将Default.aspx中的Title=Untitled Page去掉,并将Default.aspx设置为起始页并浏览浏览后的效果见下图将master页面中的和中的表格删除并保存后继续浏览Default.aspx查看效果。注意:测试发现栏目是由MasterPage.master.cs文件中的menudiv.InnerHtml = columnlist.GetMenu Bar();执行后产生的。8.从default1.aspx中复制如下高亮显示部分代码到default.aspx的 中,并浏览default.aspx查看效果9.将default.aspx的右边两个div层转换为服务器控件,见下图两图的高亮部分10.在default.aspx.cs文件的page_load事件中输入如下代码将新闻列表信息显示在右面的两个层中if (!IsPostBack) BLL_Article newslist = new BLL_Article(); nxkx.InnerHtml = newslist.get_Content(C, 22, 1, 10);/根据栏目类型获取该类型下所有栏目中的新闻信息,参数C表示南溪快讯类型, 22表示没条新闻显示22个字符的标题, 1表示显示日期, 10表示在层中只显示10条新闻 xxfk.InnerHtml = newslist.get_Content(D, 16, 0, 7);/参数C表示信息公开类型, 22表示没条新闻显示22个字符的标题, 1表示显示日期, 10表示在层中只显示10条新闻 11.打开BLL_Article.cs 文件,在其中创建方法get_Content()和DatetConvert(),代码如下public string get_Content(string coltype, Int16 conlength, Int16 timeflag, Int16 recount)/coltype表示栏目类型;conlength表示内容字符数;timeflag表示是否显示上传日期;recount表示显示的记录条数 string strHtml, strTemp; /设置链接数据库的链接串 string Connstr = System.Configuration.ConfigurationManager.AppSettingsaccessconn; /建立链接对象 OleDbConnection conn = new OleDbConnection(Connstr); /建立命令对象 / OleDbCommand comm = new OleDbCommand(SELECT * FROM bt_article WHERE column_id=? , conn); OleDbCommand comm = new OleDbCommand(, conn); /设置SQL语句的类型为存储过程(查询)StoredProcedure /comm.CommandType = CommandType.StoredProcedure; /comm.CommandType = CommandType.Text; if (conn.State = ConnectionState.Closed) conn.Open(); comm.CommandText = select top + recount.ToString() + bt_Article.Article_ID as AID,bt_Column.Column_ID as CID,ArticleTitle,ArticleTime,ColumnName,ATP.TemplatePath as ATPP,CTP.TemplatePath as CTPP,Article_Url from bt_Article,bt_Column,bt_Template as CTP,bt_Template as ATP ; comm.CommandText += where bt_Column.Column_ID=bt_Article.Column_ID and bt_Column.ArticleTemplate_ID=ATP.Template_ID and bt_Column.ColumnTemplate_ID=CTP.Template_ID and bt_Column.Column_Type= + coltype + order by ArticleTime Desc;/取栏目类型为coltype对应值的新闻信息 OleDbDataReader rs = comm.ExecuteReader(); strHtml = ; while (rs.Read() strTemp = rsArticleTitle.ToString().Trim(); if (strTemp.Length conlength) strTemp = strTemp.Substring(0, conlength - 1) + .;/如果长度超过规定的长度,则在其后加省略号 strHtml += ; strHtml += ; string datestr = ( + DatetConvert(rsArticleTime.ToString(), S) + ); if (rsArticle_Url.ToString() = 无 | rsArticle_Url.ToString() = )/判断文章是否有直接链接到网址 if (timeflag = 1) strHtml += + strTemp + + datestr; else strHtml += + strTemp + ; else if (timeflag = 1) strHtml += + strTemp + + datestr; else strHtml += + strTemp + ; strHtml += ; / if (timeflag = 1) / strHtml += + DatetConvert(rsArticleTime.ToString() + ; strHtml += ; strHtml += ; rs.Close(); conn.Close(); return strHtml; public string DatetConvert(string datestr, string LS)/将日期转换为长日期或短日期 DateTime md = new DateTime(); md = Convert.ToDateTime(datestr); if (LS = L) return md.Date.ToString(yyyy-MM-dd);/长时间 else return md.Date.ToString(MM-dd);/短时间12.点击浏览Default.aspx页面查看效果如下:13.根据master页添加内容页ArticleCmd.aspx,并将ArticleCmd1.aspx中的所有控件移入ArticleCmd.aspx的content中。(1)点击新建文件web窗体,在选择母版页处打勾,并输入文件名ArticleCmd.aspx后选择MasterPage.master作为母版。(2)将ArticleCmd1.aspx中的所有控件移入ArticleCmd.aspx的content中,见下面代码注意:将和中间代码拷贝即可。 来源: 上传时间: 访问量: 最近访问时间:   (3)ArticleCmd1.aspx.cs文件中的下列代码复制到ArticleCmd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论