博文

Literal Web 服务器控件(2006-08-17 09:38:00)

摘要:Literal 控件无需添加任何 HTML 元素即可将静态文本呈现在网页上。可以通过服务器代码以编程方式静态控制文本。 注意 若要显示静态文本,可以使用 HTML 呈现它;不需要使用 Literal 控件。只有在需要更改服务器代码中的内容时才使用 Literal 控件。Literal 控件与 Label 控件类似,不同的是 Literal 控件不能用于将样式应用于显示的文本。 可以使用 Literal Web 服务器控件作为页面上其他内容的容器。Literal 最常用于向页面中动态添加内容。 将 Literal 控件与其他选项进行比较
Literal 控件表示用于向页面添加内容的几个选项之一。对于静态内容,无需使用容器,可以将标记作为 HTML 直接添加到页面中。但是,如果要动态添加内容,则必须将内容添加到容器中。典型的容器有 Label 控件、Literal 控件、Panel 控件和 Placeholder 控件。 Literal 控件与 Label 控件的区别在于 Literal 控件不向文本中添加任何 HTML 元素。(Label 控件呈现一个 span 元素。)因此,Literal 控件不支持包括位置属性在内的任何样式属性。但是,Literal 控件允许指定是否对内容编码。 Panel 和 Placeholder 控件呈现为 div 元素,这将在页面中创建离散块,与 Label 和 Literal 控件进行内嵌呈现的方式不同。 通常情况下,当希望文本和控件直接呈现在页面中而不使用任何附加标记时,可使用 Literal 控件。 在 Literal 控件中编码内容
Literal 控件支持 Mode 属性,该属性用于指定控件对您所添加的标记的处理方式。可以将 Mode 属性设置为以下值: Transform。添加到控件中的任何标记都将进行转换,以适应请求浏览器的协议。如果向使用 HTML 外的其他协议的移动设备呈现内容,此设置非常有用。 PassThrough。添加到控件中的任何标记都将按原样呈现在浏览器中。 Encode。添加到控件中的任何标记都将使用 HtmlEncode 方法进行编码,该方法将把 HTML 编码转换为其文本表示形式。例如,<b> 标记将呈现为 &lt;b&......

阅读全文(5822) | 评论:0

4.1.2 应用程序框架(2006-08-10 17:35:00)

摘要:<%@ Application attribute="value" [attribute=value ... ]%>
<%@ Import namespace="value" %>...
 <%@ Assembly Name="assemblyname" %>
<script language="vb" runsat=server>

</script>
<body>
<form runat=server>

</form>
</body>
</html> 说明:
1.<%@ Application attribute="value" [attribute=value ... ]%>
让ASP.NET运行环境动态从另一个应用中动态编译出一个类来继承使用。 例如:
<%@ Application Inherits="MyApp.Object" Description="Ourapp" %>
指定应用环境从Myapp应用中动态编译一个MyApp.Object的类以供使用,它的说明为"Ourapp"。 2.<%@ Import namespace="value" %>...
显视导入一个命名空间到应用程序,这样应用程序就可以使用命名空间中定义的各种类和接口来完成特定的功能,大大加快了程序的开发速度。例如:
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.NET" %>
就可以利用系统为我们提供的大量文件和网络对象,快速的开发自己的文件和网络应用程序。
3.<%@ Assembly Name="assemblyname" %>
在页面编译时产生到assemblyname的连接,这样就可以使用集合中类及接口。缺省情况下,应用会把应用程序目录下bin中的集合都动态载入。该项功能也可以在应用程序的config.web中配置,缺省......

阅读全文(346) | 评论:0

4.1.1 配置应用程序的步骤(2006-08-10 17:24:00)

摘要:4.1.1.1 设置应用程序的目录结构 一个WEB站点可以有多个应用程序运行,而每一个应用程序可以用唯一的URL来访问,所以首先应利用IIS开放应用程序的目录为“虚拟目录”。各个应用程序的“虚拟目录”可以不存在任何物理上的关系。例如: 应用URL:                                                     物理路径:
http://www.my.com                                     c:\inetpub\wwwroot
http://www.my.com/myapp                        c:\myapp
http://www.my.com/myapp/myapp1          \\computer2\test\myapp 从......

阅读全文(4009) | 评论:0

第四篇 应用程序  第一章 什么是应用程序(2006-08-10 17:21:00)

摘要:在asp.net中,可以这样来定义一个Application:能够在一个web应用服务器的子目录或者虚拟目录上运行的所有的文件、页面、操作、模块或者能被执行的代码。比方说,在一个web服务器上,一个“order“应用程序将会在“/order“这个目录下被发布。
Web服务器上的asp.net应用程序在一个被称作应用程序域运行空间(AppDomain)环境中被执行,以保证类的隔离(没有版本、名称上的冲突)、安全屏蔽(防止有权访问某些机器/网络的资源)、静态变量的隔离。
在一个web应用程序的生命周期中,asp.net维护一个HttpApplication实例池。Asp.net对一个Http的请求会自动分配一个来处理,这个特别的HttpApplication实例对管理这个在全部的生命周期里的请求是可靠的,并且在处理完成后可以被重用。
在应用程序环境下,ASP.NET并发处理客户端的请求,所以可能存在多线程对Application对象的同时存取。在这种情况下,对Application对象的草率处理,可能会导致不可预知的错误。例如以下代码:
<% Application("counter") = CType(Application("counter") + 1, Int32) %>
原本希望对实例进行计数,但如果同时到达两个以上请求时,则有可能产生漏计。正确的方法应该是在操作以前,对Application对象上锁,操作完成以后,再对Application对象解锁。代码如下:
<%
Application.Lock()
Application("counter") = CType(Application("counter") + 1, Int32)
Application.UnLock()
%>......

阅读全文(409) | 评论:0