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

&nbsp;&nbsp;

Pass:<asp:textbox id="text2" runat="server"

textmode="password"/>

&nbsp;&nbsp;

<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"/>

&nbsp;&nbsp;

Pass:<asp:textbox id="text4" runat="server"

textmode="password"/>

&nbsp;&nbsp;

<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:&nbsp;<b><asp:label id=label1 runat=server/></b>

<br/><br/>

User's Pass:&nbsp;<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法引用文件,扩展名可随意。

ASP.NET的include的用法相关推荐

  1. AjaxPro2在Asp.net中的基本用法

    AjaxPro2在Asp.net中的基本用法 1.      引用ajaxPro2.dll到你的工程中. 2.      在Web.config中添加配置 <httpHandlers>   ...

  2. 【Android Gradle 插件】settings.gradle 配置文件 ( 配置基本作用 | include 函数用法 | 目录层级配置 | 修改 Module 模块构建脚本名称 )

    文章目录 一.settings.gradle 配置 1.基本作用 2.include 函数用法 3.Module 目录层级配置 4.修改 Module 模块的 build.gradle 默认构建脚本名 ...

  3. 关于C语言编程中include的用法

    关于C语言编程中include的用法 1 iostream与iostream.h的区别: #include <iostream.h> // 这个就是1998年标准化以后的标准头文件 #in ...

  4. C语言中,#include的用法:#include 和 #include区别

    C语言中,#include的用法:#include "" 和 #include<>区别 采用 " ":依次搜索当前目录.包括/I编译开关的路 ...

  5. c语言中include的作用,c语言include的用法是什么

    小编整理了c语言 include的用法.希望对你有帮助哦! 其实这个只要了解了文件包含的基本处理方法就可以对文件包含有一个很好的理解与应用了,下来我们一起来看一下: 文件包含的处理方法: 处理时间:文 ...

  6. asp数组中REDIM的用法(动态数组)

    asp数组中REDIM的用法(动态数组) 动态数组里面的一个语句,只能出现在过程里面,可以多次使用.可以改变数组大小,和维数 格式: REDIM [Preserve] 数组名(下标1[下标2....] ...

  7. c语言include的用法 相对目录 绝对目录,c语言中include的用法

    <c语言中include的用法>由会员分享,可在线阅读,更多相关<c语言中include的用法(3页珍藏版)>请在人人文库网上搜索. 1.c语言中in elude 的用法c语言 ...

  8. asp.net中databinder.eval用法的总结

    asp.net中databinder.eval用法的总结 <%# bind("subject") %> //绑定字段 <%# container.dataitem ...

  9. 在c语言中怎么返回引用参数,C语言函数 函数的声明 C语言的头文件 #include的用法 形参和实参 函数的返回值 - 猫扑天空...

    C语言函数 一.是什么? 是指编程中对一块功能代码的封装,可以理解一个程序片段 二.有什么用? 可以封装代码,方便调用,提高复用性 三.怎么用? 定义:  返回值类型  函数名(形参类型 参数名1-. ...

最新文章

  1. 中国程序员人数将增长50%,过半500强都要卖软件,边缘应用程序增长8倍丨IDC预测下一个五年...
  2. python编写数学公式大全_python - 用python编写数学公式 - 堆栈内存溢出
  3. B 站硬件大佬在 GitHub 上开源了一款神器
  4. jq遍历子元素_leetcode第196周赛第三题统计全 1 子矩形
  5. glacier2_Amazon Glacier的Scala客户端
  6. Gazebo加载模型时黑屏
  7. 许可证密钥_如何激活和停用NVivo的许可证
  8. vfp 连接mysql数据库_Visual FoxPro操作数据库之函数大全
  9. C++ 一个简单的基类
  10. 代码逻辑分析_致C++完美主义者:使用Visual Studio新工具分析你的代码
  11. Java Web下访问外部jar,实例后的Object类型转化的问题
  12. 深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读
  13. 计算机主板型号尺寸,10大华硕主板型号简介,组装电脑的朋友可别错过
  14. 透明图片怎么发给别人_【篮球头像】|半透明篮球头像+灌篮高手+哪吒头像
  15. 光大银行笔试真题解析,答题技巧
  16. 我用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
  17. 《失业七个月,面试六十家公司》的深圳体验
  18. 苹果手机iOS自带原生文档扫描功能,秒杀所有文档扫描软件
  19. 阿玛机器人_豪华日本声优阵容,《战斗天赋解析系统》让你耳朵怀孕!
  20. Java全栈开发---Java ERP系统开发:商业ERP(一)UML建模工具的使用

热门文章

  1. 【HM】第3课:JavaScript高级
  2. 4Python全栈之路系列之Django模型
  3. 深入理解javascript选择器API系列第二篇——getElementsByClassName
  4. 编译Cocos2dx程序 (一)
  5. 调用android系统自带功能
  6. 深入XP之认识的引导文件NTLDR
  7. 又一款基于BCH开发出来的社交软件BlockPress
  8. Apache用户认证、域名跳转、Apache访问日志
  9. 高校促进“智慧城市”信息化建设策略研究
  10. 【独家】深度学习论文阅读路线图