ASP+学习笔记(一)

  •   2009-07-27/22:09
  • 其实就是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,大约有够字数了,下一贴继续




    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多