关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> asp ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
DELPHI 中动态链接库的使用
利用Hook技术实现键盘监控
Delphi下汉字输入法的编程及使用
在Delphi中用拼音首字符序列来实现检索功能
在DELPHI中处理时间
Delphi 元件撰写常问问题
任意动态改变/添加网络设置中的 TCP/IP 的 DNS 地址
Delphi 3中Cookie的建立使用
Delphi4.0 开发WEBMAIL程序
用DELPHI制作留言板
 
【新品推荐】

  详细内容
 

让您的主页支持各种浏览器
作者: 评价: 上站日期: 2001-09-04
内容说明:
来源:

ASP+ 的移动控制 

如果媒体的新闻和广告是可以相信的话,我们在不久的将来会使用很小的电话或者其它手机设备来访问互联网。OK,这只是一个比较乐观的估计,但是有一点是可以肯定的,那就是访问您站点的访问者已经有很多人不是在使用传统的浏览器了,而且这个数字还在不断的增加(新浪消息:据统计,全球手机用户已经超过电脑用户,而且30%的手机具有WAP功能)。为了适应各种型号的手机(包括那些很小的电话),ASP+提供了一款引以自豪的服务控制用于产生WML,而不是HTML。在这篇文章里,我们将对这个微软还在开发中的控制来个小小的观察。这篇文章同样也会考虑一些其它的用户浏览设备,比如置顶盒,甚至是电冰箱(哈哈,是不是感觉有些天方夜潭)。


ASP+入门

有很多种方法能够创建动态页面。在过去,最突出的技术就是使用可执行的程序通过Common Cateway interface(CGI)去访问WEB服务器。但是,在近些年中,一些新的技术能够让脚本代码直接写入HTML页中,而且这些技术现在变得越来越流行。在这些技术中有Perl,Java Server Page (JSP)以及微软的Active Server Pages(ASP)。


ASP开始时只是一个能够通过Internet Server Application Programming Interface(ISAPI)来访问WEB服务器的DLL,换句话说就是一个ISAPI DLL.这种接口提供了一个与服务器快速而有可靠的联结。这些代码在同一个进程或者内存空间中运行。使用这种技术,ASP进化到了3.0,并且会作为Windows 2000的一部分来安装。


进入 .NET 的世界(微软带给我们的新概念)

根据微软.NET Frameword的介绍,基础的ASP的设计已经改变。这种新的结构已经完全脱离了当前程序运行的语言以及操作系统指定结构的限制。


在今天,大多数的编程语言是直接能过本地的代码(这些代码已经在进程中执行,通俗说就是编绎器)来编绎原始代码。因此这种编译必须依赖于处理器的类型。举个例子,在intel处理器上编译的代码将不能在Motorala的处理器上运行。 


关于这个,有一个例外,那就是Java,它使用一种独立的virtural machine来执行代码,这个代码是根据指定的处理器和操作系统来编译的。只要在目标机上有合适的Java Virtual Machine,那么代码就能执行。


微软的.NET Framework是一个与JAVA极其相似的但是作用更为广泛的框架。它提供了一个完全的开发和运行环境,它能运行程序。这些代码会被编译成一个特殊的Intermediate Language(IL).所有的源代码都被编译成IL代码而不用考虑代码所用的语言。


因些代码不管是用VB,还是VC,还是JScript或者是新的C#,都会被编译成同样的IL代码。这些编译器已经作为.NET Framework的一个部分被包含。




The ASP+ Framework


为了结合ASP技术与.NET框架,微软开发了一个开发系统用于提供一种更快的动态网页开发。同时这个运行环境也会变得更加有效率,升级性也有很大的提高。这个技术叫做Active Server Page+,或者干脆叫ASP+


ASP+是如何工作的?

ASP+最主要的新特点是应用程序与页面事件模块的结合。ASP+是这个新代码处理环境的一部分。这就是说,这种新技术能对事件做出反应,比如页面的Loading或者是应用的启动,这些ASP+都能通过事件来处理。


这种后台执行的结构会对页面来说是非常有用的。一般来说这个页面包括一个

标签以及其它一些HTML元素,但是这些元素会在具有ASP+环境的服务器上执行。ASP+不仅向浏览器(客户端)输出被要求的HTML,而且还加入了一些额外的东东在里面以维持每个控制的值(用以回传给服务器),这种概念很奇怪,但是我们得接受啊。就像我们接受ASP一样的。


同时因为ASP+通过额外的代码和属性控制着页面的行为方式,所以ASP+就能做更多好玩的事情。因为页面是在服务器上创建的,这个ASP+引擎能够查觉到这个form是如何被提交的,也就是说能够侦察到用户是按了哪种button按钮。


ASP+允许服务器端事件的使用(这可是个新概念)。我们会在下面的例子中看到,通过指定的事件来处理问题。


这种特殊的HTML元素请求是这种新后台结构的基础,它的真名是ASP+ Server Controls(ASP+服务控制)。在标准的ASP+中有很多种这样的控制。你能够使用VB或其它.NET支持语言来编写、继承、扩展这种控制。


什么是ASP+移动控制?

现在一个令网络开发者很能关心的问题就是快速增长的移动设备市场。现在已经有上百种不同类型的设备出现了,这些产品中没有一种能够和传统PC上的浏览器相兼容。这个范围包含但是不仅限制于"无线设备"。同样的有掌上电脑,以及我们的电视,还有游戏控制台,这一些现在都可以上网浏览了。


这些设备中的大多数不支HTML,同样不支持颜色,字体,定位,声音以及其它各种元素的改变。因此,为你的站点创建一个HTML的页面,并不能解决所有的问题。因此我们就得为创建一个能为大部分设备所显示的页面。(嘿嘿,想想,如果一种设备写一种页面,那您。。。。)


为了提供这种属性,微软介绍了一种叫做移动控制的东东,它能够根据不同的设备创建不同的页面。如果是WAP手机浏览,他就会创建WML代码,如果是掌上电脑浏览就会创建HTML代码,IE等传统浏览器就不用说咯。


这个控制的重点是能够智能化地创建不同的输出,而您对不同的设备却使用同一代码。比如,list控制会在手机、掌上电脑、PC上显示同一个list菜单,但是他们输出显示时所使用的代码却是不同的。


有了他,程序员就可以开发程序时不用考虑客户使用的设备了。


移动控制能做些什么呢!?

现在我们看看移动控制到底能做什么:


移动控制的范围

当前版本的移动控制下面的属性是有效的:


MobilePage 如同WML中的deck 

Panel 如同WML中的card 

Form 启用用户输入控制 

Label 在页面中输出文字 

Command 创建一个链接 

TextBox 文本输入框 

List 如同select 

RequiredFieldValidator 对用户输入进行检查 

RegularExpressionValidator 使用用户输入生效 

Stylesheet 指定输出格式 

在以后的版本中还有一个SelectionList控制,功能与list大致相同。


设置此组件

建立一个移动控制很简单,虽然这些具体的技术一直在变,但是这些控制还是一个DLL文件,把他拷贝到就用开发环境目录的bin子目录下。当然这个应用也必须是虚拟目录。


第二步,就是把例子文件config.web加到应用目录下去,如果这个文件已经存在那就把文件的这一段的内容加进去。它通过BrowserCapabilities控制来判断哪种格式和语言将要发到用户端去。 


在目前的版本中,移动控制只支持WAP手机中的WML,以及HTML。以后的版本支持的就多了。比如XHTML,HDML,cHTL等等

前面我们看到了对于移动控件的介绍,现在我们具体来看看他的用法.


使用移动控制

使用移动控制就和使用其它ASP+控制一样简单。事实上他更加简单,因为他是产生整个页面,而不是部分页面。我们甚至不必去考虑< ? xml ....?> 和< doctype .......> 这些标签,他们会自动添加。


我们使用Paner控制来产生< card> 和< deck> 


< Mobile:Panel runat="server" id="pnlMain"> 

< Mobile:Form runat="server"> 

< Mobile:Label runat="server"> Enter your name:< /Mobile:Label> 

< Mobile:TextBox runat="server" id="NameEdit" /> 

< Mobile:Command runat="server" id="Button" Label="OK"

TargetType="FormAccept" OnClick="Button_OnClick" /> 

< /Mobile:Form> 

< /Mobile:Panel>  


注意:在以前的版本中,每个页面必须有一个Mobile:form,现在不需要了。


下面是上面的程序在普通浏览器上看到的结果:




但是,如果您用WAP手机来观看,就会看到下面的结果 :




下面我们将在页面中加上一个包含用户名的欢迎信息,因此我们得在这个deck中加上另外一个Panel控制。


< Mobile:Panel runat=server id="pnlTwo"> 

< Mobile:Form runat="server"> 

< Mobile:Label runat="server" id="WelcomeMessage" Type="Title"/> 

< /Mobile:Form> 

< /Mobile:Panel> 


我们让用户按下OK键后再显示这个信息。在WAP手机中有不同的操作方法,意思一样。所以,我们还得写一此VB代码来处理这个事件。


< script language="vb" runat="server"> 

Sub Button_OnClick(Sender As Object, Args As EventArgs)

WelcomeMessage.Text = "Welcome '" & NameEdit.Text & "'"

SetCurrentPanel (pnlTwo)

End Sub

< /script> 


在第一个card(或者是panel)中包含一个command控制,它指定了事件和铵钮的名字:


< Mobile:Command runat="server" id="Button" Label="OK"

TargetType="FormAccept" OnClick="Button_OnClick" /> 


子程序中的代码主要是用于从Textbox控制中收集用户名,然后在第二个panel中的labael显示:


WelcomeMessage.Text = "Welcome '" & NameEdit.Text & "'"


当这些都完成了,我们就来启动每个页面


SetCurrentPanel (pnlTwo)


 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> asp ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0