我们学过的Code分离到不同文件的方法,主要包括:
程序集.dll、<inherits src>.cs、<script src>.cs、用户控件.ascx、include、Response.WriteFile()
程序集.dll:这是最高级的方法,它引用的是一个被编译为IL的DLL(程序集)文件。
<inherits src>.cs:用这种方法,可以先定义一个继承Page类的新类,再在ASPX/ASCX文件中加工此类。
<script src>.cs:可以把<script runat=”server”>部分分离到一个新文件。
用户控件.ascx:把一段ASP.NET代码作为一个控件引入。
include:这是今天的主题,详见下。
Response.WriteFile():他只能用于引入一段“纯客户端代码(DHTML)”,扩展名可随意。
实验项目描述:
我想没有什么比一个UI更说明问题了,那么这是一个什么页面呢?
这是一个典型的“上中下”结构的网页,在实作中:“页头/页脚”可能是不变的,而中部可能是变化的。
于是在实作中,如果用“include法”我们需要把三个部分离出来,单为一个文件。
之后,可以使用一个“主文件”,分别把它们三个文件include进来。
而今天,我们只是一个实验,所以我们是这样设计的:
中部为一个“主文件”,之后把上下两部分include进来。
最后,我们还会把一些关键技术进行总结。
代码实现:
【上部分文件:head.aspx】
复制代码 代码如下:
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><script runat=server>
void click1 (object a,EventArgs b)
{ label1.Text=text1.Text;
label2.Text=text2.Text;}
</script>
<h1>The Softzz's New page</h1>
<p>2004-11-15</p>
Name:<asp:textbox id="text1" runat="server"/>
Pass:<asp:textbox id="text2" runat="server"
textmode="password"/>
<asp:button id="button1" runat="server"
Text="ClickMe" OnClick="click1"/>
<HR width="80%" SIZE="1">
【上部分文件:end.a】
复制代码 代码如下:
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><script runat=server>
void click2 (object a,EventArgs b)
{ label1.Text=text3.Text;
label2.Text=text4.Text;
}
</script>
<HR width="80%" SIZE="1">
Name:<asp:textbox id="text3" runat="server"/>
Pass:<asp:textbox id="text4" runat="server"
textmode="password"/>
<asp:button id="button2" runat="server"
Text="ClickMe" OnClick="click2"/>
<h5><%= DateTime.Now.ToString() %></h5>
<b><p>CopyRight: SoftZZ</p></b>
【主文件:index.aspx】
复制代码 代码如下:
代码
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><%@ Page Language=C# %>
<center>
<form runat=server>
<!-- #include file="head.aspx" -->
<br/>
<p>This is a new test page.Please look at the info:</p>
<br/><br/>
User's Name: <b><asp:label id=label1 runat=server/></b>
<br/><br/>
User's Pass: <b><asp:label id=label2 runat=server/></b>
<br/><br/>
<!-- #include file="end.a" -->
</form>
</center>
关键技术·记述:
上面的例子还能说明什么呢?
l include可以把几个文件最终拼成一个文件,而作为元素的每一页,只是最后拼成的最终页的片段。
l 被拼的页、最终的页,均为ASP.NET代码容器,而非HTML文本。
l 拼页时,是按顺序的。
l 这些文件中的代码,在被拼时,只是普通文字,当最终拼成后,才会被检查/编译/报错/显示……
l 一个文件中可以多次include另一个文件。但前提是不能使“声明/定义”(标识符)部分重复(重名)。
l 如果在各文件中终有“runat=server”的控件,一定要注意<form runat=”server”>的始/终位置。
l 一页中只能有一个<form runat=”server”>,就算可以设置form的id也不能有多个。
l 一页中可能多次出现<script runat=”server”>,而且其都会运行在这个“最终页”显示前。
还有就是,它的运行与页面顺序无关,它是一个“代码声明块”,它的元素只会被调用后运行。
l 我们可以把<script runat=”server”>们,放在页面的任何地方,包括<form runat=”server”>内。
l 用include法引用文件,扩展名可随意。
include
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。