ASP+学习笔记(一)

10/18/2000来源:ASP教程人气:24000

其实就是SDK里的文档,只不过看的时候翻译了部分知识点出来。因为我的习惯是
记在纸上,一共可写完了两只圆珠笔啊,5555~~~

一、Geting Started

。高性能,asp+被编译成NGWS运行时代码,早帮定,JIT编译,缓存技术
。开发工具支持,WYSIWYG的编辑环境
。强大而灵活,基于NGWS运行时环境,丰富的支持库,消息机制,数据访问,语言
无关,同时兼容现有的COM体系
。简单,部署和培植,表现层和逻辑层分离,自动垃圾回收
。管理方便,文本文件做配置,实现“0管理”,甚至可以覆盖正在运行的已编译
的代码。
。伸缩性好,可用性高,集群,多处理器
。可定制,扩展性好,可任意子类化已经有的类,实现定制的用户人证和状态服务
。安全,与系统集成,基于应用的安全保证

语言支持,ASP+已经内置三中,C#,VB,JSCRipT
例:
属性定义:
public String name{
  get {
    .....
     return ...;
      }
  set {
    ...= value;
      }
  }

事件处理:
  void MyButton_Click(Object sender,EventArgs e)
{
...
}

造型(即强制类型转换,但与之梢不同,参见java):
MyObject obj = (MyObject)session["somevalue"];
IMyObject iobj=obj;

名称空间:
using System;

Main方法:
public static void Main(String[] args)
注意,C#中的args跟java一样,不包含执行文件自己。



二、Asp+ Web Forms

1).介绍
ASP+ WEB FORMS是在服务器端的用以动态生成WEB页面的编程模型,基于NGWS运行
时环境之上。
。重用UI控件,减少编程量
。清晰的页面逻辑
。强大的编辑工具

ASP+ WEB FORMS是以.aspx为后缀的文件,被编译成NGWS的类,只需一次编译。
法一、将一个普通的HTML文件后缀改成.aspx
法二、使用<% %>代码块
但以上不是推荐作法,不利于逻辑和表现分离。

。ASP+服务器控件
在aspx文件中,包含属性runat=server的标记
服务器控件在运行时产生HTML代码。
服务器控件自动维护了客户端的输入,程序不用去处理客户输入,也不用在客户
端写脚本(注意,服务器并没有把数据保存在服务器上,而是通过一个hidden
域来工作的)。

。处理服务器控件的事件
呀,注意,这些事件其实是在客户端发生的呢,但你不用管,就当在为一个VB的
FORM中的控件写事件处理程序。
。使用定制的服务器控件
ASP+自带45个内置的服务器控件,也可以自己写
。数据帮定
内置了DataGrid等控件,他们支持模板
。FORM验证控件
内致了许多Validator,可以强制必须为某一个字段输入内容等。
。代码隐藏
可进一不实现代码与表现分离

2).使用服务器控件
runat=server
可以有属性
可以有事件
<asp:hyperlink runat="server">实现页面导航
Page.Navigate(url)也可以实现页面导航

3).为服务器控件增加风格(CSS
可以像CSS那样去控制,还可以用Style对象,例:
Style style=new Style();
Style.BorderColor = Color.Black;
...
MyLogin.ApplyStyle(style);

4).表单验证
验证控件只对部分控件有效,他们是:
HtmlInputText   value
HtmlTextArea    value
HtmlSelect      value
HtmlInputFile   value
TextBox         Text
ListBox         SelectedItem
DropDownList    SelectedItem
RadioButtonList SelectedItem
验证控件有如下几种:
RequiredFieldValidator,必须填内容
CompareValidator,同某个常量或另外的控件的值做比较
RangeValidator,范围验证
RegularExPRessionValidator,同一个模式做比较,用于EMAIL,邮政编码等验证
CustomValidator,自定义条件验证
ValidationSummary,显示验证后的错误信息摘要
如果客户端支持DHTML,验证控件将自动产生客户端验证脚本,否则,等提交回
服务器后在服务器端进行严整。
Page对象有个IsValid属性,如果验证失败,则被设为False,同时,页面中的
ValidationSummary控件(如果有的话)自动显示出错误信息。

。CompareValidator
该控件三个属性,ControlToValidate,ControlToCompare,Operator,分别代表要
验证的控件,比较的值,和比较方法。
。RangeValidator
三个属性:ControlToValidate,MiniumControl,MaxiumControl
。Regular
两个关键属性:ControlToValidate,ValidationExpression
例:
<asp:RegularExpressionValidator id="Regular1" runat="Server"
ControlToValidate="TextBox1"
ValidationExpression="^\d{5}$"
Display="static"
Font-Size="10pt">
邮政编码必须是5个数字
</asp:RegularExpressionValidator>
。自定义验证
需要自定义一个函数,如果放在客户端,则函数必须用ClientValidationFunction
属性指定,函数有格式:
function myvalidator(source,value)
source是CustomValidator对象。
如果在服务器端,则严整写在事件处理函数中:OnServerValidationFunction
例:
<script language="c#" runat="server">
bool ServerValidate(Object source,String value){
...
}
</script>
<asp:CustomValidator id="CustomValidate" runat="Server"
ControlToValidate="Text1"
OnServerValidationFunction="ServerValidate"
ClientValidationFunction="ClientValidate">
不是一个偶数哦!
</asp:CustomValidator>
<Script language="Javascript">
function ClientValidate(source,value)
{
,,,,
}
</Script>

OK,大约有够字数了,下一贴继续