ASP.NET学习(1)

《一》认识ASP.NET

1.ASP.NET程序结构

(1)前台和后台

Default.aspx是进行界面设计的文件,通常称为前台。用户能看到。

Default.aspx.cs是后台代码,由程序员完成后台代码的设计,。用户看不到。

Default.aspx源码界面顶部有一句声明:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

CodeFile参数设置的内容就是本界面所关联的后台代码。

2.事件:两个参数:sender和e。告诉程序,谁(sender)做了什么(e)。

protected void Button1_Click(object sender, EventArgs e)
    {
        this.Label1.Text = "你已经单击了OK按钮,欢迎进入ASP.NET 3.5开发世界";
    }

理解windows系统是消息驱动的,循环消息机制。
3.程序处理过程和本质(这是重点★★★★★)

一个网页的完整处理过程,本质是一个事件处理的顺序。整个事件的完整处理过程,就是一个页面的生命周期。网页的生命周期主要分10步,也就是10个需要处理的事件。

(1)初始化对象

(2)导入ViewState数据

(3)用LoadPostData处理Postback数据

(4)导入对象

(5)RaisePostBackChanged事件

(6)处理客户端PostBack事件

(7)预先呈递对象

(8)保存ViewState

(9)呈递给页面

(10)销毁对象:服务器吧页面呈现给浏览器后,所有的对象都应该被销毁。销毁所有在建立这个页面时创建的对象。销毁任何对象都不会产生错误,包括页面对象。

4.配置文件:web.config。用于配置网站。

5.名词解释

(1).NET Framework:框架。支持生成和运行下一代应用程序和XML Web Services的内部windows组件。

(2)公共语言运行库: (common language runtime,CLR) 托管代码执行核心中的引擎。运行库为托管代码提供各种服务,如跨语言集成、代码访问安全性、对象生存期管理、调试和分析支持。

(3)托管代码:以运行库为目标的代码称为托管代码。

(4)非托管代码:不以运行库为目标的代码称为非托管代码。

(5)LINQ:一种集成查询语言,可支持对数据、对象等进行查询。

(6)WCF:一种服务框架,类似于早期的Remoting,但更加容易调用。

(7)WPF:一种最近的Windows Forms程序形式,用来创建更加美观的窗体界面。

(8)Ajax: 一个JS框架,用户B/S程序,也就是网站项目,支持客户端的快速响应。

(9)支持分页的数据模板空间:网站项目中,添加了ListView和DataPager空间,可自定义分页数据的读取和显示。

可以ASP.NET网页作为Web应用程序的用户界面和后台逻辑部分。使用服务器端代码来实现应用程序逻辑。服务器上运行的代码动态地生成到浏览器或客户端设备的网页输出。

6.装箱与拆箱

装箱:把值类型转换为引用类型

拆箱:将引用类型转换为值类型

       double a = 45.2; //定义值
        object b = a;    //装箱操作
        Response.Write(a.ToString() + "-" + b.ToString());//输出结果
       double a = 45.2; //定义值
        object b = a;    //转化为引用对象后的值
        double c = (double)b;//将引用对象拆箱,并返回值

7.普通数组和动态数组

       int[] a = new int[2]; //普通数组

        ArrayList ar = new ArrayList();//初始化动态数组
        ar.Add("A"); //在动态数组中添加值
        ar.Add("B");

8.泛型

类似C++中的模板

9.注释

C# 中的注释有多种情况,常见的分为三种:
(1)单行代码后的注释.使用//来注释。
(2)方法前的注释.用来概括说明方法的功能和方法中的参数意义,用///表示。
(3)对整个程序的说明. 一般用在程序的开始处,说明这个文件的来源或者版权。用/*xxxxx*/结束。

/// <summary>
///Class1 的摘要说明
/// </summary>
public class Class1
{
    public Class1()
    {
        //
        //TODO: 在此处添加构造函数逻辑
        //
    }
}

10.对象、类、接口和继承

(1)C#只允许继承一个父类,但允许继承多个接口。

(2)局部类:用关键字partial修饰。

public partial class _Default : System.Web.UI.Page

11.隐式类型:var

12.类中属性赋值自动实现

public string name //姓名属性
        {
            get;
            set;
        }

13.Lambda表达式

类似C++的指针。在LINQ查询中应用非常广泛。

 

 

 

《二》网页控件

1.控件分类:Web控件和HTML控件

(1)HTML控件:只显示内容,不与服务器交互。

(2)Web控件:即服务器控件,每次操作时都与服务器交互。每次交互都会页面刷新。考虑效率问题。(在vs2008工具箱中显示的是“标准”分类)

2.使用控件

<asp:TextBox ID="txtName" runat="server"  ></asp:TextBox>

asp:TextBox     说明这是一个标准的Web控件

ID=”txtName”  此控件的唯一标识,可在后台代码中通过此ID访问该控件

runat=”server“ 表示次控件是运行在服务器端的

(2)使用控件的属性

方法1:在可视化设计窗口,使用属性窗口

方法2:在源码窗口,在源码的任何一个属性后面,按Space键(空格键),自动弹出当前控件的所有属性供选择

space

(3)控件事件处理

方法1:单击控件属性上的闪电图标,选择对应的事件处理

方法2:按钮事件可直接双击按钮控件

protected void Button1_Click(object sender, EventArgs e)
    {
        Label1.Text = "欢迎你," + txtName.Text;
    }

3.表示类控件

Label:不进行操作,只显示数据。不允许用户单击或者选中。

4.输入类控件

(1)TextBox   不允许用户选择,只允许用户输入

(2)

RadioButton  单选按钮 ,要设置GroupName属性,表明是同一组

CheckBox  多选按钮

/// <summary>
    /// 单选按钮响应事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button2_Click(object sender, EventArgs e)
    {
        if (RadioButton1.Checked)
        {
            Label2.Text = "你选择的是一年级";
        }
        if (RadioButton2.Checked)
        {
            Label2.Text = "你选择的是二年级";
        }

    }
    /// <summary>
    /// 多选按钮响应事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button3_Click(object sender, EventArgs e)
    {
        if (CheckBox1.Checked && CheckBox2.Checked)
        {
            Label2.Text = "你选择了体育和音乐";
        }
        else if (CheckBox1.Checked)
        {
            Label2.Text = "你选择了体育";
        }
        else if (CheckBox2.Checked)
        {
            Label2.Text = "你选择了音乐";
        }
        else
        {
            Label2.Text = "两项都没有选择";
        }
    }

 

(2)DropDownList

DropDownList和ListBox功能一样,以列表形式显示多个选项。DropDownList带有下拉框,ListBox就是列表形式。

    /// <summary>
    /// DropDownList选择结果的按钮响应
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button4_Click(object sender, EventArgs e)
    {
        Label3.Text = "你选择的是:"+DropDownList1.SelectedValue;

    }
    /// <summary>
    /// ListView选择结果的按钮响应
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Button5_Click(object sender, EventArgs e)
    {
        Label4.Text = "你选择的是:" + ListBox1.SelectedValue;
    }

DropDownList和ListView

5.布局类控件

一般主要参与界面的设计,不控制实际的代码,也不允许用户操作。

(1)Panel  面板控件

(2)Table  表格控件

<asp:Panel ID="Panel1" runat="server" Height="90px" Width="476px">
      //这里是在Panel中添加的控件
    </asp:Panel>


        <asp:Table ID="Table1" runat="server" GridLines="Both" Height="113px" Width="401px">
            <asp:TableRow runat="server">
                <asp:TableCell runat="server">第1格子</asp:TableCell>
                <asp:TableCell runat="server">第2格子</asp:TableCell>
            </asp:TableRow>
            <asp:TableRow runat="server">
                <asp:TableCell runat="server">第3格子</asp:TableCell>
                <asp:TableCell runat="server">第4格子</asp:TableCell>
            </asp:TableRow>
        </asp:Table>

table

6.提交类控件

用户输入完数据,或作出选择后,交给服务器处理后面的事情。通常通过按钮完成。

Web控件提供了3个按钮:Button、LinkButton、ImageButton。三种按钮用法基本一致。

 

3.验证控件

用来验证用户在页面上的输入,防止用户乱输入数据。

检查用户的输入,并实时给出错误的提示,以提示用户修改。

主要有6个验证控件:

RequiredFieldValidator:必须字段验证。用于检查是否有输入值

CompareValidator:比较验证。按控件的设置比较两个输入值

RangeValidator:范围验证。验证输入是否在指定范围内

RegularExpressionValidator:正则表达式验证。使用正则表达式验证控件的输入

CustomValidator:自定义验证。允许程序员以自定义方式来验证控件

ValidationSummary:汇总错误提示信息

 

3.1.RequiredFieldValidator:必须有输入

需要设置两个属性:ControlToValidate="TextBox_rfv"  //关联需要验证的控件

                                  ErrorMessage="必须输入内容"        //错误提示

 

    <div>
        <asp:TextBox ID="TextBox_rfv" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
            ControlToValidate="TextBox_rfv" ErrorMessage="必须输入内容"></asp:RequiredFieldValidator>
    </div>
        <asp:Button ID="Button_rfv" runat="server" Text="Button" />

RequiredFieldValidator

3.2.CompareValidator:比较控件。常用就是验证两个密码是否相同

<asp:CompareValidator ID="CompareValidator1" runat="server" 
            ControlToCompare="TextBox_new" ControlToValidate="TextBox_renew" 
            ErrorMessage="新旧密码不一致!"></asp:CompareValidator>

3.3.RangeValidator:范围验证控件

主要是设置4个属性值:

ControlToValidate关联需要验证的控件

ErrorMessage设置错误提示信息

MaximumValue最大值

MinimumValue最小值

<asp:TextBox ID="TextBox_rv" runat="server"></asp:TextBox>
        <asp:RangeValidator ID="RangeValidator1" runat="server" 
            ControlToValidate="TextBox_rv" ErrorMessage="范围错误,在0-100之间" MaximumValue="100" 
            MinimumValue="0"></asp:RangeValidator>

 

3.4.RegularExpressionValidator 正则表达式验证

通过正则表达式验证输入的数据是否符合指定格式。正则表达式写在ValidationExpression属性中。

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
            ControlToValidate="TextBox_rev" ErrorMessage="邮箱输入错误" 
            ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>

 

部分正则表达式验证:

功能验证码
匹配Email\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+ ([-.]\w+)*
匹配URLhttp(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
匹配负数 
匹配整数 
匹配26个英文字母 

3.5.CustomValidator 自定义验证控件

主要是实现一个自定义验证方法:ServerValidate事件,参数args.Value是需要验证的值

/// <summary>
    /// 自定义验证控件的验证方法
    /// </summary>
    /// <param name="source"></param>
    /// <param name="args"></param>
    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
    {
        try
        {
            if (args.Value.Length == 8) //判断用户输入的长度是否是8位
            {
                args.IsValid = true; //验证通过
            }
            else
            {
                args.IsValid = false; //验证失败
            }
        }
        catch (System.Exception ex)
        {
            args.IsValid = false;//发生异常时,验证失败
        }
    }

3.6.ValidationSummary验证控件的错误汇总

用来显示页面上所有验证控件的错误信息。错误信息来自每个验证控件的ErrorMessage属性

有2个主要属性:

DisplayMode:指定显示模式,可以是列表、项目符号列表或单个段落

ShowSummary:控制是显示还是隐藏控件

imageimage

 

4. Calendar日历控件  可视日历控件

通过SelectedDate属性改变其他属性等。

image

 

5.AdRotator 动态广告控件

 

定义和用法

AdRotator 控件用于显示图像序列。

该控件使用 XML 文件来存储 ad 信息。XML 文件使用 <Advertisements> 开始和结束。在 <Advertisements> 标签内部,应该有若干个定义每条 ad 的 <Ad> 标签。每次加载这个页面时,会按照一定的概率加载其中一条<Ad>标签内的广告内容。

控件属性:

属性描述.NET
AdvertisementFile包含 ad 信息的 XML 文件的路径。1.0
AlternateTextField代替广告的 Alt 文本而使用的数据字段。2.0
ImageUrlField代替广告的 ImageURL 属性而使用的数据字段。2.0
KeywordFilter根据类别对广告进行过滤。1.0
NavigateUrlField代替广告的 NavigateUrl 属性而使用的数据字段。2.0
runat规定该控件是服务器控件。必须设置为 "server"。1.0
Target在何处打开 URL。1.0

 

<Ad> 标签中预定义的元素被列在下面:

属性描述
<ImageUrl>可选。图像文件的路径。
<NavigateUrl>可选。用户点击该 ad 时所链接的 URL。
<AlternateText>可选。图像的可选文本。
<Keyword>可选。ad 的类别。
<Impressions>可选。显示概率。

xml文件示例:

<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
  <!--这是第1条Ad广告的内容-->
  <Ad>
    <ImageUrl>baidu.gif</ImageUrl>
    <NavigateUrl>http://www.baidu.com</NavigateUrl>
    <AlternateText>百度</AlternateText>
    <Impressions>80</Impressions>
    <Keyword>img1</Keyword>
  </Ad>
  <!--这是第2条Ad广告的内容-->
  <Ad>
    <ImageUrl>google.gif</ImageUrl>
    <NavigateUrl>http://www.google.com</NavigateUrl>
    <AlternateText>谷歌</AlternateText>
    <Impressions>80</Impressions>
    <Keyword>img2</Keyword>
  </Ad>
</Advertisements>

AdRotator

 

PS:第一部分暂时更新到这里...

 

转载于:https://www.cnblogs.com/zhiaiyaya/p/3690748.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值