ASP.NET的include的用法

asp.net|include

引言:

我们学过的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】

<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】

<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】

<%@ 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法引用文件,扩展名可随意。

时间: 2024-10-02 03:36:28

ASP.NET的include的用法的相关文章

ASP中使用INCLUDE对搜索引擎收录是否有影响

include|搜索引擎 点石有会员提出一个问题:ASP中过多使用如<!–#include file="include/footer.asp"–>对引擎收录有影响吗?这个问题引起大家的热门讨论,zac指出include应该是服务器端执行的,SE根本不知道是include的,所以对搜索引擎没有影响.seo123说使用<!–#include file="include/footer.asp"–>对搜索引擎几乎没影响,而使用<!–#inclu

asp可以动态Include文件吗?

include|动态 可以动态Include文件吗? 2001年4月23日 什么是动态Include? 解答 我们从一个案例谈起: <% '得到用户所在的省份 Dim Province Province = Request.form("Province") '下面显示这个省份相关的信息 %> <!--#include virtual="/ Province/<%= Province%>"--> 你觉得上面的代码可以工作吗?不!简单

ASP中处理#include (我不知道有没有人贴过,如果有的话,不要骂我)我也没有仔细看

include 813     在ASP中处理#include 文件与用编译高级编程语言,如C/C++处理包含文件,这两种方法之间有两个主要区别.第一,ASP不从最终形成的ASP文件中移走那些未涉及到的信息.这是因为ASP独立于脚本引擎,不过多地进行代码分析.大体说来,如果遇到了ASP文件的基本语法请求,信息就被缓存(假定缓冲器是打开的)并被发送到适当的脚本引擎,进行进一步的分解.标记及执行.     除了这个"死码"问题,ASP包含文件与编译语言之间的另一个区别在于:每个ASP文件都

ASP中处置#include

ASP中处理#include ASP中处理#include 在ASP中处理#include 文件与用编译高级编程语言,如C/C++处理包含文件,这两种方法之间有两个主要区别.  第一,ASP不从最终形成的ASP文件中移走那些未涉及到的信息.这是因为ASP独立于脚本引擎,不过多地进行代码  分析.大体说来,如果遇到了ASP文件的基本语法请求,信息就被缓存(假定缓冲器是打开的)并被发送到适当  的脚本引擎,进行进一步的分解.标记及执行. 除了这个"死码"问题,ASP包含文件与编译语言之间的

【转载】Asp.net中DataBinder.Eval用法的总结

摘自 http://www.cnblogs.com/liuzijing688/archive/2008/03/27/1124623.html Asp.net中DataBinder.Eval用法的总结 <%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# DataBinder.Eval(Container.DataItem, "[n]") %&

细说 ASP.NET Cache 及其高级用法

原文:细说 ASP.NET Cache 及其高级用法 许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Cache,而不是其它的缓存技术. 以前我在[我心目中的Asp.net核心对象] 这篇博客中简单地提过它,今天我打算为它写篇专题博客,专门来谈谈它,因为它实在是太重要了.在这篇博客中, 我不仅要介绍它的一些常见用法,还将介绍它的一些高级用法. 在上篇

详解ASP.NET中Session的用法_实用技巧

      当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在.当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象.当会话过期或被放弃后,服务器将终止该会话.        通过向客户程序发送唯一的 Cookie 可以管理服务器上的 Session 对象.当用户第一次请求 ASP 应用程序中的某个页面时,ASP 要检查 HTTP 头信息,查看是否有在报文中有

ASP.NET中Dictionary基本用法实例分析_实用技巧

本文实例讲述了ASP.NET中Dictionary基本用法.分享给大家供大家参考,具体如下: //Dictionary位于System.Collections.Generic命名空间之下 /* * 使用Dictionary之前必须引用System.Collections.Generic命名空间: * 使用Dictionary时必须声明其键和值的数据类型(可以为任意类型): */ //声明实例化Dictionary为dic System.Collections.Generic.Dictionary

ASP.NET配置文件Web.config用法详解_实用技巧

本文实例讲述了ASP.NET配置文件Web.config用法,分享给大家供大家参考.具体分析如下: 一.认识Web.config文件 Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中.当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的   Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设