收藏 分销(赏)

实验3-内置对象应用、母版及主题.doc

上传人:仙人****88 文档编号:7945135 上传时间:2025-01-28 格式:DOC 页数:10 大小:885KB 下载积分:10 金币
下载 相关 举报
实验3-内置对象应用、母版及主题.doc_第1页
第1页 / 共10页
实验3-内置对象应用、母版及主题.doc_第2页
第2页 / 共10页


点击查看更多>>
资源描述
实验3.1 内置对象的应用 目的与要求 (1) 熟练掌握Application、Session对象的使用。 (2) 熟练掌握Request、Response对象的使用。 (3) 熟练掌握Cookie对象的使用。 内容和步骤 【练习1】使用Application和Session对象统计在线人数(必做) (1) 启动Visual Studio 2010,使用Visual C# 语言新建一个ASP.NET网站。 (2) 在网站中添加Global.asax全局应用程序文件,要求应用程序生命周期开始时,初始化在线人数。新用户会话开始时,在线人数加1,会话结束时,在线人数减1。Global.asax代码如下: void Application_Start(object sender, EventArgs e) { // 在应用程序启动时运行的代码 // 初始化 Application["counter"] = 0; } void Session_Start(object sender, EventArgs e) { …… } void Session_End(object sender, EventArgs e) { …… } (3) 在Default.aspx网页设计视图中放置3个Label控件,所包含的控件及属性列于表T-1中。 表T-1 Default.aspx文件控件及其属性 控件类别 控件名 控件标识 属性 属性值 备注 Web控件 Label Label1 Text 统计在线人数 Label Label2 Text 当前在线人数为: Label Label3 Text (空) 用于显示计数值 在页面第一次加载时,将在线人数Application["counter"] 赋给Label3.Text,实现在界面显示在线人数。其代码如下: Label3.Text=Application["counter"].ToString (); (4) 运行程序,结果如图T.4所示。连续按下”刷新” 按钮,观察网页上在线人数的变化。 图T.4 运行结果 【练习2】利用Cookie对象统计IP地址登录次数。(必做) (1) 在练习1建立的网站中,新建页面IPCounter.aspx,在界面中添加一个文本框和一个按钮。 (2) 当用户首次访问 IPCounter.aspx页面时,利用Cookie对象向客户端硬盘写入一个永不过期的Cookie,同时计数器置1;当用户再次访问时,读取Cookie并将计数器加1后再写入Cookie,这些功能均在页面的Page_load()事件代码中实现,程序代码如下: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { …… } } (3) 在 IPCounter.aspx页面中,单击按钮即可在文本框中显示统计IP地址登录次数,按钮的单击事件代码如下: protected void Button1_Click(object sender, EventArgs e) { if (Request.Cookies["lastVisitCounter"] == null) { TextBox1.Text = "1"; } else { HttpCookie aCookie = Request.Cookies["lastVisitCounter"]; TextBox1.Text = Server.HtmlEncode(aCookie.Value); } } (4) 运行程序,结果如图T.5所示。单击“统计”按钮,观察文本框中的值是否变化。 图T.5 运行结果 【练习3】统计网站的总访问量。(必做) (1) 在练习1建立的网站中,新建页面WebCounter.aspx,用来显示总访问量。 (2) 统计网站的总访问量主要是在Global.asax全局应用程序文件中实现,要利用Application对象来统计总访问量,另外要利用文件来保存总访问量。实现的技术要点是在应用程序启动时,从计数文件中读取总访问量的值;当用户会话启动时对总访问量加1后再写入counter.txt计数文件;当应用程序关闭时将当前的总访问量写入counter.txt文件。Global.asax程序代码如下: <%@ Application Language="C#" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.Collections" %> <%@ Import Namespace="System.ComponentModel " %> <%@ Import Namespace="System.Web" %> <%@ Import Namespace="System.Web.SessionState" %> <%@ Import Namespace=" System.IO " %> <script RunAt="server"> void Application_Start(object sender, EventArgs e) { …… } void Application_End(object sender, EventArgs e) { ……. } void Session_Start(object sender, EventArgs e) { …… } </script> (3) 在页面WebCounter.aspx中添加如下代码来显示总访问量: <font face ="宋体" style="font-weight: bold; color: red; font-family: 隶书">您是第<%=Application["webcounter"]%>位访问者</font> (4) 运行程序,结果如图T.6所示。页面中显示出总访问量值,当关闭浏览器后再次浏览本页面时,总访问量计数值将加1。 图T.6 运行结果 实验3.2 母版和主题 目的与要求 (1) 熟练掌握母版的使用方法。 (2) 熟练掌握主题及皮肤的使用与切换方法。 内容和步骤 【练习1】母版应用及动态加载母版。(必做) (1) 启动Visual Studio 2008,使用Visual C# 语言新建一个ASP.NET网站,命名为“实验四”。 (2) 右键单击网站“实验四”,选择【添加新项】,在打开的对话框中选择【母版页】,创建母版页,命名为Master1.master。 图T.12 Master1设计界面 (3) 打开Master1.master,切换到【设计】视图,仿照图T.12进行母版页设计,放置一个表格用以布局,网页左侧上部放置一个Calendar控件,网页头部设计网站名称并在右侧添加一个Image控件,脚部放置版权信息等,在适当位置放置两个ContenPalceHolder控件。根据喜好放置其他控件,设置控件属性。 (4) 新建另一个母版页Master2.master,切换到【设计】视图,仿照图T.13进行母版页设计,放置一个表格用以布局,网页左侧上部放置一个AdRotator控件,下部放置一个Calendar控件。网页头部设计网站名称,脚部放置版权信息等。在左侧和右侧适当位置放置两个ContenPalceHolder控件。根据喜好放置其他控件,设置控件属性。 (5) 右键单击网站“实验四”,添加新项,选择【Web窗体】,勾选右下角的复选框【选择母版页】,在弹出的对话框中选择“Master1.master”,将新建的网页命名为sy1.aspx。设计网页,如图T.14所示,在左侧的Content中放置两个HyperLink控件,分别设置属性NavigateUrl为"sy1.aspx?master=master1"和"sy1.aspx?master=master2"。在右侧的Content中布置用于调查的表单:放置一个复选框列表控件CheckBoxList1并编辑ListItem;放置两个按钮控件Button1和Button2,分别用于提交和重选;放置一个标签控件Label1,用于显示调查结果。 图T.14 选择母版一的运行结果 图T.13 Master2设计界面 (6) 双击“提交”按钮button1,为其添加Click事件代码: protected void Button1_Click(object sender, EventArgs e) { int i; string str = "你选择的是:<br>"; …… Label1.Text = str; } (7) 双击“重选”按钮button2,为其添加Click事件代码: protected void Button2_Click(object sender, EventArgs e) { CheckBoxList1.ClearSelection(); Label1.Text = ""; } (8) 在网页的后台文件sy1.aspx.cs中添加Page_PreInit事件,设计切换母版的代码: protected void Page_PreInit(object sender, EventArgs e) { string mm = Request["master"]; if (mm == "master1") this.MasterPageFile = "master1.master"; else this.MasterPageFile = "master2.master"; } 图T.15 选择母版二的运行结果 (9) 保存sy1.aspx,调试,按F5运行网页,点击选择母版,查看效果分别如图T.14和T.15所示。 【练习2】主题应用与动态加载主题。(选做) (1) 在练习1建立的网站“实验四”中,新建文件夹App_Themes,右键单击App_Themes,选择【添加ASP.NET文件夹】,再选择【主题】,将出现的“主题1”文件夹重命名为Theme1。右键单击Theme1,添加新项,选择【外观文件】,命名为SkinFile1.skin。右键单击Theme1,添加新项,选择【样式表】,命名为cssfile1.css。同样的方法创建Theme2及其外观文件和样式表文件。结构如图T.16。 图T.16 主题文件夹结构 (2) 在网站的默认网页Default1页面中,在【设计】视图下,分别拖放TextBox、Label、Button、Calendar、AdRotator、Image、HyperLink控件各一个,为了便于将来在皮肤文件中改造它,一行放置一个。在属性窗口中设置这些控件的外观属性,风格为暖色调。运行调试直至色调风格满意为止。风格可参考图T.17。切换到【源】视图,复制控件代码至SkinFile1文件。去掉控件的ID属性,改造成皮肤文件代码如下: <asp:TextBox runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" Font-Bold="True" Font-Names="幼圆" Font-Size="Large" ForeColor="#0066FF" Height="50px" Width="200px"></asp:TextBox> <asp:Label runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" Font-Bold="True" Font-Names="幼圆" Font-Size="Large" ForeColor="#0066FF" Height="100px" Width="300px" ></asp:Label> <asp:Button runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" Font-Bold="True" Font-Names="幼圆" Font-Size="Large" ForeColor="#0066FF" Height="30px" Width="80px" /> <asp:Image runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" ForeColor="#0066FF" Height="100px" Width="150px" ImageUrl="~/image/f2.jpg" /> <asp:Calendar runat="server" BackColor="#FF99CC" BorderColor="#CC00FF" BorderStyle="Groove" BorderWidth="2px" Caption="万年历" CaptionAlign="Top" Font-Bold="False" Font-Names="幼圆" Font-Size="Large" ForeColor="#3333CC"> <OtherMonthDayStyle BackColor="#FFCCCC" /> <NextPrevStyle BackColor="#FF66CC" BorderColor="#CC00FF" /> </asp:Calendar> <asp:AdRotator runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" Font-Bold="True" Font-Names="幼圆" Font-Size="Large" ForeColor="#0066FF" Height="30px" Width="200px" /> <asp:HyperLink runat="server" BackColor="#FFCCFF" BorderColor="#CC00CC" BorderStyle="Groove" BorderWidth="2px" Font-Bold="True" Font-Names="幼圆" Font-Size="Large" ForeColor="#0066FF"/> (3) 打开cssfile1.css,在空白处单击右键,选择【添加样式规则】,添加需要设置的样式。在生成的样式内单击右键,选择【生成样式】。在弹出的对话框中分别设置【字体】、【块】等样式风格,格调仍旧为暖色调。重复这两步,直到符合需要的样式添加生成完毕。cssfile1.css文件中部分代码如下: BODY { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-SIZE: 14px; PADDING-BOTTOM: 0px; MARGIN: 10px 0px 10px 0px; PADDING-TOP: 0px; FONT-FAMILY: Arial; BACKGROUND-COLOR: #ec98c9; WORD-WRAP: break-word } table { font-family: 幼圆; font-size: larger; background-color: #FFCCFF; 图T.17 选择Theme1的运行结果 } (4) 仿照步骤2和3,设计另一个主题中的Theme2中的SkinFile2.skin和cssfile2.css,整体风格为冷色调。风格可参考图T.18。 (5) 在网站“实验四”中新建网页sy2.aspx,新建时使用母版,选择练习一中创建的母版二。参考图T.17设计内容页面,在左侧的Content中添加两个HyperLink控件,并分别设置分别设置属性NavigateUrl为"sy2.aspx?theme=1"和"sy2.aspx?theme=2"。在右侧的Content中布置用于调查的表单:放置一个复选框列表控件CheckBoxList1并编辑ListItem;放置两个按钮控件Button1和Button2,分别用于提交和重选;放置一个标签控件Label1,用于显示调查结果。 (6) 双击“提交”按钮button1,为其添加Click事件代码: protected void Button1_Click(object sender, EventArgs e) { int i; string str = "你选择的是:<br>"; …… Label1.Text = str; 图T.18 选择Theme2的运行结果 } (7) 双击“重选”按钮button2,为其添加Click事件代码: protected void Button2_Click(object sender, EventArgs e) { CheckBoxList1.ClearSelection(); Label1.Text = ""; } (8) 在网页的后台文件sy2.aspx.cs中添加Page_PreInit事件,设计动态切换网站主题的代码: protected void Page_PreInit(object sender, EventArgs e) { …… } (9) 保存sy2.aspx,调试,按F5运行网页,点击切换网站皮肤,查看效果分别如图T.17和T.18所示。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服