电脑技术学习

ASP+与ASP有什么不同

dn001

ASP+怎样让你的生活更加简单?
对于今天的WEB程序员来说最大的挑战就是不断变化地浏览器的兼容性,以及它们不断升级的复杂性。在保证页面能在所有流行浏览器下工作的同时又得尽量地使用每个浏览器最新属性来建立更加具有交互式的页面,这简直就是一场恶梦。

更加可怕的就是对于不同的用户设备建立不同的网页。当然,在WAP手机和传统的浏览器上建立同等水平的页面是不可能,因为由于带宽的原因,在很多WAP手机中一次只能显示12字3行的文本信息。

一个最简单的解决办法就是动态地对不同的用户生成不同的输出,或者就是对不同的用户写多个页面。第二种方法没有效率,我想大多数地开发者都会选择第一种方法。但是这就意味着用户的每次点击都会让服务器判断应该向用户显示什么.

如果这一切可能,为什么不把这些过程自动化!?为了结束这一切,ASP+引入了一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块。他们同样帮助管理处理不同的用户类型。

服务器端HTML控制使得我们减少了不少的代码
ASP已经提供了一种在服务器上执行组件的能力,这些组件能够产生一些代码用以返回给用户。ASP+通过服务控制继承了这一概念。转换HTML元素到服务控制的需要仅仅是一个附加的属性:runat="server"(这个我们在ASP也见到过)

页面中的任何HTML元素都能使用这种方法标注,ASP+会在服务器上执行这些元素,并且对不同的用户产生不同的代码。


这种让HTML元素在服务器上执行的概念第一次看来有些奇怪,但是当你发现在它在这个页面变得完全功能化,你还有什么好想的了。

保持状态的问题
在我们建立交互页面和应用时最烦人的一个问题就是处理从客户端传来的数据,然后保持这些数据加以控制。ASP+的一个核心目标就是简化这一过程。这不会给程序员带来任何的困惑,而且能在大多数的浏览器上工作正常。


我们先来看看下面的代码。这段代码制作了一个简单的页面让用户输入电脑的名字和选择操作系统。OK,它本身不是个很烦人也不是令人兴奋的例子,但是它反映了我们常常做的一些事。当这个页面提交后,使用request.form集来取得相应的数据,然后用request.write显示它们.

<HTML>
<BODY>
<%
If Len(Request.Form("selOpSys")) > 0 Then
strOpSys = Request.Form("selOpSys")
strName = Request.Form("txtName")
Response.Write "You selected '" & strOpSys _
& "' for machine '" & strName & "'."
End If
%>;
<FORM action="pageone.asp" method="post">
Machine Name:
<INPUT type="text" name="txtName">
<P />
Operating System:
<SELECT name="selOpSys" size="1">
<OPTION>Windows 95</OPTION>
<OPTION>Windows 98</OPTION>
<OPTION>Windows NT4</OPTION>
<OPTION>Windows 2000</OPTION>
</SELECT>
<P />
<INPUT type="submit" value="Submit">
</FORM>
</BODY>
</HTML>

尽管这是一个ASP文件(后缀名是.asp不是.aspx,但是如果我们把它的文件后缀改为.aspx,它同样能够在ASP+工作正常。请记住,这两个系统能够在一个机器上很好的共存,这个后缀名只是在判断,这个解析工作是ASP来做,还是ASP+来做。;

下面的快照中我们看到了在IE5中执行的结果,当用户点击这个提交按钮,将会把数据传向服务器,这个页面将会被刷新,同时显示我们选择的结果。当然,在真正的应用中我们可以将这些数据存入数据,或者做一些其它的事,这里为了简便,我们只是让它显示出来。

这个页面的问题便是它不能保持状态,换句话说就是它只能返回默认值,用户在重新此页时不得不重新输入数据。

标签: