网页源代码设计范例Word格式文档下载.docx
《网页源代码设计范例Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《网页源代码设计范例Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
5.3页面的风格设计
为使该系统的页面美观多样,在设计时使用了8种样式风格。
为了在页面设计时方便调用,将其存储于数据库的Lb_Skins(风格样式)表中,各窗体通过调用style.css文件来设计界面外观。
CSS是CascadingStyleSheets(层叠样式表单)的简称,简称样式表,它是一种设计网页样式的技术。
CSS代码的基本语句结构为:
选择符{属性名:
属性值},选择符可以是HTML中任何的标签或自定义标识符,比如P、DIV、IMG甚至BODY都可以作为选择符。
CSS在HTML文档中有三种用法:
◆一种是把CSS文档放到<
head>
文档中:
<
styletype=“text/css”>
……<
/style>
;
◆另一种方法是采用<
style=“”>
的格式把样式写在任何html标签中的行,这种方法比较方便灵活;
◆还有一种方法是:
把编辑好的CSS文档保存成“.CSS”文件,然后在<
中定义,定义的格式为:
<
linkhref="
style.css"
type="
text/css"
rel="
stylesheet"
>
……<
/head>
,<
link>
和“rel=stylesheet”指连接的元素是一个样式表文档,“href=‘style.css’”指的是需要连接的文件地址。
这种方法非常适宜同时定义多个文档,能使多个文档同时使用相同的样式,从而减少了大量的冗余代码。
5.4系统配置
5.4.1Web.config文件配置
ASP.NET应用程序的配置功能放在Web.config文件中,它包含每一个具体Web应用程序的配置信息。
在程序运行时,ASP.NET使用分层虚拟目录结构的Web.config文件提供的配置信息为每个惟一的URL资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。
Web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于XML,每个配置文件都包含XML标记和子标记的嵌套层次结构。
新闻系统的Web.config文件中的配置:
appSettings>
addkey="
MdbPath"
value="
lbnews.mdb"
/>
/appSettings>
通过键/值对key和value配置数据库连接的相关信息,将ACCESS数据库lbnews.mdb文件用相对路径的方式设置为字符串"
在程序代码中进行连接引用。
5.4.2配置发布主页
首先要创建虚拟目录,新建虚拟目录的步骤如下:
●打开IIS(Internet信息服务),在默认上右击,在快捷菜单中选择新建—>
虚拟目录;
●在弹出的虚拟目录创建向导对话框里点击“下一步”;
●输入虚拟目录别名;
●选择容所在目录路径;
●设置“访问”权限。
在所建虚拟目录上右击,在弹出菜单中选择浏览,或在浏览器里输入相应网址,都可运行浏览程序。
虚拟目录不在目录列表中显示(也称为WWW服务的“目录浏览”),要访问虚拟目录,用户必须知道虚拟目录的别名并在浏览器中键入URL。
对于WWW服务,也可以在HTML页面中创建。
发布的时候,把程序首页的名字(index.aspx或default.aspx)写在IIS当中就可以访问了。
5.5系统部分重要功能及其代码
5.5.1Web用户控件
该系统中创建了两个Web用户控件top.ascx和bottom.ascx,在首页、新闻详细容查看、新闻分类等页面的HTML代码里都进行了引用,调用方式为:
%RegisterTagPrefix="
uc1"
TagName="
bottom"
Src="
bottom.ascx"
%>
top"
top.ascx"
Register指令注册用户控件,同时把属性TagName(标签名)和TagPrefix(标签前缀)添加到Register指令中,Src属性表示该用户控件相对于父页面的相对地址。
用户控件也是服务器端控件,还必须在用户控件代码中添加Runat=server属性,用法如下:
uc1:
topid="
Top1"
runat="
server"
/uc1:
top>
bottomid="
Bottom1"
bottom>
其中top.ascx用户控件作用是显示首页图片、“首页”文本字体、新闻分类、新闻风格和当前日期,bottom.ascx用户控件作用是显示底部相关信息等。
用户控件是非常易于代码重用的,可以把许多相关功能和用户界面封装在一个用户控件中,然后在任何需要该功能的地方重用此控件。
5.5.2通用类代码
在所有相关页面显示文件和Web用户控件的代码隐藏文件.aspx.cs或.ascx.cs中,通过对数据访问类的引用(以创建类实例方式),调用数据访问类里的相应函数完成相关功能,如建立数据库连接、打开和关闭数据库、对数据库执行查询、插入、删除和更新操作、页面登陆检验等。
此处列举Conn类(数据访问类)中主要函数的源码:
publicclassConn
{
//建立数据库连接字符串
publicOleDbConnectionLb_Conn=newOleDbConnection(strConn);
publicstaticstringstrConn//通过创建一个属性来连接数据库
{
get//使用get方法返回此属性的值
{
StringBuilderstrResult=newStringBuilder();
strResult.Append("
Provider=Microsoft.Jet.OLEDB.4.0"
);
;
"
DataSource="
strResult.Append(HttpContext.Current.Server.MapPath("
."
));
//HttpContext应用程序上下文类,Current属性表示进程中当前请
//求的上下文,MapPath()方法表示返回与Web服务器上的指定虚
//拟路径相对应的物理文件路径,此处作用是创建数据库文件的虚拟路径
\\"
strResult.Append(ConfigurationSettings.AppSettings["
]);
//从配置文件中取到数据库连接字符串,“MdbPath”为Web.config
//文件中的键/值对所设置的key值
returnstrResult.ToString();
//返回字符串类型
}
}
publicOleDbDataReaderExecuteOleDbDataReader(stringstrSql)
{//此函数表示从数据库读取数据时以只进只读的行流的方式进行
OleDbCommandcmd=newOleDbCommand(strSql,Lb_Conn);
OleDbDataReaderrd=cmd.ExecuteReader();
//通过调用对象OleDbCommand的ExecuteReader()方法创建//OleDbDataReader对象
returnrd;
}
publicDataSetCreateDataSet(stringstrSql,stringtableName)
OleDbDataAdapterda=newOleDbDataAdapter(strSql,Lb_Conn);
//创建DataAdapter类实例,可用于填充DataSet对象和检索、更新数据
DataSetdst=newDataSet();
da.Fill(dst,tableName);
//填充DataSet(数据集)中的一个表
returndst;
publicintExecuteSql(stringstrSql)
OleDbCommandcmd2=newOleDbCommand(strSql,Lb_Conn);
intresult=cmd2.ExecuteNonQuery();
//对数据库执行插入、删除和更新等操作,返回影响数据库记录的行数
returnresult;
}
5.5.3添加发布新闻
添加发布新闻在该系统中显然起着很关键的作用,在添加新闻管理页面里,通过单击“添加”按钮执行新闻的添加,但能不能直接发布,还要根据权限来判断,“添加”按钮的单击事件主要程序如下:
Connds1=newConn();
//调用数据访问类
ds1.DBopen();
//打开数据库
stringtitle=Lb_Title.Value.ToString();
//新闻标题
stringContent=LbNewsContent.Value.ToString().Replace("
'
"
"
"
//新闻容
stringAuthor=Lb_Author.Value.ToString();
//新闻作者
stringTitlePic=Lb_TitlePic.Value.ToString();
//是否首页滚动图片
stringIntro=LbNews_Intro.Text.ToString().Replace("
\r\n"
br>
).Replace("
//新闻简介
stringLb_Grade;
//用户级别
intlb_check;
//判断新闻是否需要审核,1:
不需要审核,0:
需要审核
try//捕获异常围
if(Lb_Grade=="
1"
)//用户级别1为新闻输入员
{
lb_check=0;
//需要审核
}
else//审核员或管理员
lb_check=1;
//不需要审核
intresult=ds1.ExecuteSql("
insertintoLb_News([n_cid],[n_commend],[n_index],[n_ispic],[n_title],[n_spic],[n_author],[n_content],[n_publisher],[n_intro],[n_check])values("
+Lb_Classid+"
+Lb_IsCommend+"
+Lb_IsIndex+"
+Lb_IsPic+"
'
+title+"
+TitlePic+"
+Author+"
+Content+"
+Publisher+"
+Intro+"
+lb_check+"
)"
//将所添加的新闻标题、容、作者和来源部门等插入到数据表Lb_News中
if(result>
0)//数据添加到数据库中成功
if(Lb_Grade=="
)
{
ds1.alert("
添加成功,需等待管理员审核"
admin_articleadd.aspx"
}//输入员添加新闻的话弹出对话框提示需审核,并重置当前添加页面
else
添加成功"
}//审核员或管理员添加的话就直接发布到上,并重置当前添加页面
else//添加不成功
Response.Write("
添加新闻失败"
catch(System.Data.OleDb.OleDbExceptionex)
Response.Write(ex.ToString());
}//以上操作中如有异常发生则捕捉
finally
ds1.DBclose();
}//关闭数据库连接
5.5.4用户注册
该系统的容是需要靠校园众多部门众多用户来丰富充实的,而用户注册功能提供了给用户注册和发布新闻的作用。
在首页里只需点击注册按钮即可注册,注册页面里注册按钮的单击事件处理程序如下:
stringname=userName.Text.Trim();
//用户名
stringpass=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(passWord.Text.Trim(),"
MD5"
);
//用户密码
//通过HashPasswordForStoringInConfigFile()方法实现MD5加密解密算法
stringstrSql="
select*fromLb_AdminwhereA_Name='
+name+"
ds1.DBopen();
OleDbDataReaderrd=ds1.ExecuteOleDbDataReader(strSql);
if(rd.Read()==true)//读取DataReader中下一条记录时有相同记录
ds1.alert("
已存在此用户名,请用其它"
reg.aspx"
rd.Close();
}
else
insertintoLb_Admin(A_Name,A_Password)values('
+pass+"
if(result>
0)//添加数据成功
ds1.alert("
注册成功,请登陆"
index.aspx"
else
注册失败"
ds1.DBclose();
在注册页面中用到了RequiredFieldValidator(非空)、RegularExpressionValidator(正则表达式)和CompareValidator(比较)验证控件,分别用于文本输入框的非空验证、由正则表达式来验证用户的输入值是否正确和验证两个输入框的值是否相等。
服务器端验证控件是ASP.NET控件中新产生的一种验证控件,可以在客户端直接验证用户的输入,但控件必须包含“runat=server”属性。
正常情况下验证控件是不可见的,当用户输入数据错误时它们才可见。