ASP.NET 2.0后台代码与内联代码的对比(2)
来源:互联网 发布:深圳益玩网络 编辑:程序博客网 时间:2024/04/30 17:59
在页面之间共享代码
尽管可以在站点的每个页面中放置代码(使用内联或者后台代码分离模型),还是可能遇到希望在站点的多个页面之间共享代码的情况。把代码复制到需要它的每个页面是一种低效率的和难于维护的方法。幸运的是,ASP.NET提供了几个让代码供应用程序的所有页面访问的方法。
代码目录
页面可以在运行时动态的编译,代码文件(例如.cs和.vb文件)也可以。ASP.NET 2.0引入了App_Code目录,它可以包含那些含有代码的独立的文件,而这些代码可供应用程序的多个页面访问。ASP.NET 1.x要求这些共享文件预编译到Bin目录中,然而App_Code目录中的代码文件将在运行时动态地编译,并供应用程序使用。把多种语言建立的代码文件放在App_Code目录中是可行的,这时候应该把它们放在不同的子目录中(在Web.config中注册具体语言)。下面的例子演示了使用App_Code目录包含一个类文件,页面会调用它。
<%@ page language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim c As New CustomClass
Label1.Text = c.GetMessage(TextBox1.Text)
End Sub
</script>
<html>
<head>
<title>ASP.NET Inline Pages</title>
</head>
<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Text="Hello" Runat="server" />
</form>
</body>
</html>
在默认情况下,App_Code目录只能包含相同语言的文件。但是,为了在App_Code目录中包含多种语言的文件,你可以把App_Code目录划分为多个子目录(每个子目录包含相同语言的文件)。为了实现这个目标,你必须在应用程序的Web.config文件中注册每个子目录。
<configuration>
<system.web>
<compilation>
<codeSubDirectories>
<add directoryName="Subdirectory"/>
</codeSubDirectories>
</compilation>
</system.web>
</configuration>
下面的例子演示了一个划分过的App_Code目录,它同时包含了VB和C#语言的文件。
<%@ page language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim c As New CustomClass
Label1.Text = c.GetMessage(TextBox1.Text)
Dim c2 As New CustomClass2
Label2.Text = c2.GetMessage(TextBox1.Text)
End Sub
</script>
<html>
<head>
<title>ASP.NET Inline Pages</title>
</head>
<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Runat="server" />
<br />
<asp:Label ID="Label2" Runat="server" />
</form>
</body>
</html>
Bin目录
ASP.NET第一版本就支持Bin目录,它与Code目录类似,只不过它能包含预编译的部件。当你需要使用他人的一些代码的时候,它就非常有用了。在这种情况下,你不需要访问源代码(VB或C#文件),而是使用编译过的DLL文件。简单地把部件放在Bin目录中就可以使用它了。在默认情况下,Bin目录中的所有部件都会被自动地载入应用程序并供页面访问。你需要使用页面顶部的@Import指令导入Bin目录中的部件的名字空间。
<@ Import Namespace="MyCustomNamespace" >
全局部件缓存
.NET框架组件2.0包含了大量的表现框架组件不同部分的部件。这些部件都存储在全局部件缓存中,它是一个可供计算机上所有应用程序(不是供特定的应用程序使用)使用的部件仓库。框架组件中的几个部件会自动地供ASP.NET应用程序使用。你可以在应用程序的Web.config文件中注册额外的部件。
<configuration>
<compilation>
<assemblies>
<add assembly="System.Data, Version=1.0.2411.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
</configuration>
尽管可以在站点的每个页面中放置代码(使用内联或者后台代码分离模型),还是可能遇到希望在站点的多个页面之间共享代码的情况。把代码复制到需要它的每个页面是一种低效率的和难于维护的方法。幸运的是,ASP.NET提供了几个让代码供应用程序的所有页面访问的方法。
代码目录
页面可以在运行时动态的编译,代码文件(例如.cs和.vb文件)也可以。ASP.NET 2.0引入了App_Code目录,它可以包含那些含有代码的独立的文件,而这些代码可供应用程序的多个页面访问。ASP.NET 1.x要求这些共享文件预编译到Bin目录中,然而App_Code目录中的代码文件将在运行时动态地编译,并供应用程序使用。把多种语言建立的代码文件放在App_Code目录中是可行的,这时候应该把它们放在不同的子目录中(在Web.config中注册具体语言)。下面的例子演示了使用App_Code目录包含一个类文件,页面会调用它。
<%@ page language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim c As New CustomClass
Label1.Text = c.GetMessage(TextBox1.Text)
End Sub
</script>
<html>
<head>
<title>ASP.NET Inline Pages</title>
</head>
<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Text="Hello" Runat="server" />
</form>
</body>
</html>
在默认情况下,App_Code目录只能包含相同语言的文件。但是,为了在App_Code目录中包含多种语言的文件,你可以把App_Code目录划分为多个子目录(每个子目录包含相同语言的文件)。为了实现这个目标,你必须在应用程序的Web.config文件中注册每个子目录。
<configuration>
<system.web>
<compilation>
<codeSubDirectories>
<add directoryName="Subdirectory"/>
</codeSubDirectories>
</compilation>
</system.web>
</configuration>
下面的例子演示了一个划分过的App_Code目录,它同时包含了VB和C#语言的文件。
<%@ page language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim c As New CustomClass
Label1.Text = c.GetMessage(TextBox1.Text)
Dim c2 As New CustomClass2
Label2.Text = c2.GetMessage(TextBox1.Text)
End Sub
</script>
<html>
<head>
<title>ASP.NET Inline Pages</title>
</head>
<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Runat="server" />
<br />
<asp:Label ID="Label2" Runat="server" />
</form>
</body>
</html>
Bin目录
ASP.NET第一版本就支持Bin目录,它与Code目录类似,只不过它能包含预编译的部件。当你需要使用他人的一些代码的时候,它就非常有用了。在这种情况下,你不需要访问源代码(VB或C#文件),而是使用编译过的DLL文件。简单地把部件放在Bin目录中就可以使用它了。在默认情况下,Bin目录中的所有部件都会被自动地载入应用程序并供页面访问。你需要使用页面顶部的@Import指令导入Bin目录中的部件的名字空间。
<@ Import Namespace="MyCustomNamespace" >
全局部件缓存
.NET框架组件2.0包含了大量的表现框架组件不同部分的部件。这些部件都存储在全局部件缓存中,它是一个可供计算机上所有应用程序(不是供特定的应用程序使用)使用的部件仓库。框架组件中的几个部件会自动地供ASP.NET应用程序使用。你可以在应用程序的Web.config文件中注册额外的部件。
<configuration>
<compilation>
<assemblies>
<add assembly="System.Data, Version=1.0.2411.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089"/>
</assemblies>
</compilation>
</configuration>
- ASP.NET 2.0后台代码与内联代码的对比(2)
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET前台javascript与c#后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- ASP.NET中前台javascript与后台代码调用
- asp.net js与后台C#代码相互调用
- ASP.NET 后台代码的与前台文件“类”的关系
- ASP.NET中前台javascript与后台代码的相互调用
- ASP.NET AJAX框架调用后台代码的基本方法
- ASP.NET后台代码调用前台javascript脚本的方法
- ASP.NET后台代码调用前台javascript脚本的方法
- mysql的中文问题
- tomcat 虚拟主机配置
- 关于java构造器的一些总结
- c#操作word表格
- 后装机-判断报文的正确性的分析思想
- ASP.NET 2.0后台代码与内联代码的对比(2)
- asp图片上传至数据库代码
- 网上书店系统 书籍分页功能
- ASP上传代码? 在本机上调试成功,在网络上就不行了
- tasks
- 一个多线程后台扫描的程序和源代码
- (转)断言的一些知识
- :.net 收藏一段小的.net下的验证码片段
- URL中对特殊字符的处理