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

下载本文档

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

文档简介

一、 添加母版页 1.点击文件菜单中的“添加文件” 。 图 1 2.从 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 图 3 4.在源码视图中栏目所在的 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.AppSettings“accessconn“; /建立链接对象 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 += “ + rs“ColumnName“.ToString() + “;/直接链接URL地址 else strHtml += “ href=“ + rs“TemplatePath“.ToString() + “?CID=“ + rs“Column_ID“.ToString() + “ + rs“ColumnName“.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.AppSettings“accessconn“; /建立链接对象 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 = rs“ArticleTitle“.ToString().Trim(); if (strTemp.Length conlength) strTemp = strTemp.Substring(0, conlength - 1) + “.“;/如果长度超过规定的长 度,则在其后加省略号 strHtml += “; strHtml += “; string datestr = “(“ + DatetConvert(rs“ArticleTime“.ToString(), “S“) + “)“; if (rs“Article_Url“.ToString() = “无“ | rs“Article_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(rs“ArticleTime“.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文件中的下列

温馨提示

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

评论

0/150

提交评论