ASP.NET 控件详解

1,验证控件

RequiredFieldValidator(必须字段验证)用于检查是否有输入值,限制空字段

CompareValidator(比较验证)按设定比较两个输入

RangeValidator(范围验证)输入是否在指定范围

RegularExpressionValidator(正则表达式验证)正则表达式验证控件

CustomValidator(自定义验证)自定义验证控件,通过客户端或服务器函数检查值

ValidationSummary(验证总结)总结验证结果,在页面中列出所有控件的验证错误

验证控件详解:http://www.51cto.com/specbook/14/3305.htm

2,数据绑定控件(RepeaterDataListGridView

repeater控件


当我们应用repeater控件绑定数据时,即使设置了DataSource,因为Repeater控件不具备内置的呈现功能,所以我们得用一些模板来实现他的数据呈现,它支持如下模板

1,ItemTemplate要为数据源中每个数据项都要呈现一次的 HTML 元素和控件。

2,AlternatingItemTemplate

通常,可以使用此模板为交替项创建不同的外观,例如指定一种与在 ItemTemplate中指定的颜色不同的背景色。

3,HeaderTemplate页眉设置

4,FooterTemplate页脚设置

5,SeparatorTemplate包含在每项之间呈现的元素。典型的示例可能是一条直线(使用 hr 元素)。

使用repeater分页功能:

举例:

protected void Page_Load(object sender,EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.lbNow.Text ="1";
                RepeterBind();
            }
        }
 
        private void RepeterBind()
        {
            int curPage = Convert.ToInt32(this.lbNow.Text);
            SqlConnection con = DB.GetCon();
            SqlDataAdapter sd = newSqlDataAdapter();
            sd.SelectCommand = newSqlCommand("select * from emp", con);
            DataSet ds = new DataSet();
            sd.Fill(ds, "emp");
            PagedDataSource ps = newPagedDataSource();
            ps.DataSource =ds.Tables["emp"].DefaultView;
            ps.AllowPaging = true;
            ps.PageSize = 2;
            //当前页数的索引
            ps.CurrentPageIndex = curPage-1;
            btnNext.Enabled = true;
            btnUp.Enabled = true;
            if (curPage == 1)
            {
                btnUp.Enabled = false;
            }
            if (curPage == ps.PageCount )
            {
                btnNext.Enabled = false;
            }
            Repeater1.DataSource = ps;
            Repeater1.DataBind();
        }
 
        protected void btnUp_Click(objectsender, EventArgs e)
        {
            lbNow.Text =Convert.ToString (((Convert.ToInt32(this.lbNow.Text)) - 1));
            RepeterBind();
        }
 
        protected void btnNext_Click(objectsender, EventArgs e)
        {
            lbNow.Text =Convert.ToString (((Convert.ToInt32(this.lbNow.Text)) + 1));
            RepeterBind();
        }

DataList控件


DataList控件,类似于 Repeater 控件,用于显示限制于该控件的项目的重复列表。相比Repeater多了两个模板分别为SelectedItemTemplateEditltemTemplate

repeater控件在使用时不能右键编辑模板的,datalist控件可以

SelectedItemTemplate获取或设置控件中选中项的模板

EditltemTemplate获取或设置 DataList控件中为进行编辑而选定的项的模板

DataList实现分页与Repeater控件一样(代码同上)

实现DataList或Repeater控件的分页显示有几种方法:

1、写一个方法或存储过程,根据传入的页数返回需要显示的数据表(DataTable)

2、使用PagedDataSource类(位于System.Web.UI.WebControls命名空间里)

GridView控件

GridView控件是Asp.Net2003中DataGrid控件的升级版本,它提供了比DataGrid更强大的功能,同时比DataGrid更加易用。

GridView控件是一个功能强大的控件。它可以使用数据绑定技术,在数据初始化的时候绑定一个数据源,从而显示数据。除了能够显示数据外,还可以实现编辑、排序和分页等功能,而这些功能的实现有时可以不写代码或写很少的代码。

实现分页:

html代码:

<asp:GridViewID="GridView1" runat="server"AllowPaging="True"  
       onpageindexchanging="GridView1_PageIndexChanging" PageSize="3"> 
    </asp:GridView>
 

 public class DB
    {
        public static SqlConnection createCon()
        {
            return newSqlConnection("server=.;database=Department;uid=sa;pwd=123456");
        }
    }
 
 protected void Page_Load(object sender,EventArgs e)
        {
            SqlDataAdapter sda = newSqlDataAdapter();
            SqlConnection con = DB.createCon();
            SqlCommand cmd = new SqlCommand();
            string sqlStr = "select * fromemp";
            sda.SelectCommand = newSqlCommand(sqlStr, con);
            DataSet ds = new DataSet();
            sda.Fill(ds, "employee");
            GridView1.DataSource =ds.Tables["employee"].DefaultView;
            GridView1.DataBind();
        }
      
        protected voidGridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex =e.NewPageIndex;         
                          //绑定
            SqlDataAdapter sda = newSqlDataAdapter();
            SqlConnection con = DB.createCon();
            sda.SelectCommand = newSqlCommand("select * from emp", con);        
            DataSet ds = new DataSet();
            sda.Fill(ds, "employee");
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }

当然如果您正使用SqlDataSource 控件,并将其 DataSourceMode 属性设置为DataReader,则 GridView 控件无法实现分页。

数据行的选定:

 //鼠标移动到哪行,哪行的背景色改变。
   protected voidGridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
       {
           if (e.Row.RowType ==DataControlRowType.DataRow)
           {
              e.Row.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ffcc33'");
              e.Row.Attributes.Add("onmouseout","this.style.backgroundColor=c;");
           }
       }


3,用户控件


用户控件:它是一小段页面,可以包括静态HTML 代码和 Web 服务器控件。用户控件的好处是一旦创建了它,就可以在同一个 Web 应用程序的多个页面重用它。用户控件可以加入自己的属性,事件和方法。

一个web用户控件与一个完整的web窗体页相似,只是用户控件的扩展名为.ascx,且用户控件中不包含<html>,<body><form>元素

创建步骤:

-创建一个web项目

-在“项目”菜单中单击“添加web用户控件”

-将文本和控件添加到设计图面

-希望能够以编程方式访问的所有控件都必须是web窗体服务器控件或html服务器控件

-使用web窗体设计器设置属性并创建控件所需的任何代码

举例:用户控件

private string newTypeID;
        public string NewTypeID
        {
            set { this.newTypeID = value; }
        }
        protected void Page_Load(object sender,EventArgs e)
        {
            if (!this.IsPostBack )
            {
                SqlConnection con =DB.createCon();
              
                SqlCommand cmd = newSqlCommand("select newsTypeName from newsType where newsTypeID='" +this.newTypeID  + "'", con);
                con.Open();
                string newTypeName =Convert.ToString(cmd.ExecuteScalar());
                this.Label1.Text = newTypeName;
                cmd.CommandText = "select* from newsMaster where newsTypeID='" + this.newTypeID + "'";
                this.GridView1.DataSource =cmd.ExecuteReader();
                this.GridView1.DataBind();
            }
        }

html代码中给出标题NewTypeID

<tdalign="center" class="style4">
             <uc2:NewsID="News1" runat="server"NewTypeID="NT10001"/>
         </td>



第一部分 构建ASP.NET页面 第1章 ASP.NET Framework概览 2 1.1 ASP.NET和.NET Framework 5 1.1.1 框架类库 5 1.1.2 公共语言运行库 9 1.2 ASP.NET控件 10 1.2.1 ASP.NET控件概览 11 1.2.2 HTML控件 12 1.2.3 理解和处理控件事件 12 1.2.4 视图状态 17 1.3 ASP.NET页面 20 1.3.1 动态编译 20 1.3.2 控件树 23 1.3.3 使用代码隐藏页面 24 1.3.4 处理页面事件 27 1.3.5 使用Page.IsPostBack属性 29 1.3.6 调试和跟踪ASP.NET页面 30 1.3.7 跟踪页面执行 33 1.4 安装ASP.NET Framework 35 1.5 小结 37 第2章 使用标准控件 38 2.1 显示信息 38 2.1.1 使用Label控件 38 2.1.2 使用Literal控件 42 2.2 接收用户输入 44 2.2.1 使用TextBox控件 44 2.2.2 使用CheckBox控件 50 2.2.3 使用RadioButton控件 52 2.3 提交表单数据 55 2.3.1 使用Button控件 55 2.3.2 使用LinkButton控件 57 2.3.3 使用ImageButton控件 59 2.3.4 Button控件使用客户端脚本 62 2.3.5 执行跨页面发送 64 2.3.6 指定默认按钮 67 2.3.7 处理Command事件 68 2.4 显示图像 70 2.4.1 使用Image控件 70 2.4.2 使用ImageMap控件 71 2.5 使用Panel控件 75 2.6 使用HyperLink控件 79 2.7 小结 81 第3章 使用验证控件 82 3.1 验证控件概述 82 3.1.1 验证控件与JavaScript 85 3.1.2 使用Page.IsValid 85 3.1.3 设置Display属性 86 3.1.4 突出显示验证错误 86 3.1.5 使用验证组 90 3.1.6 禁用验证 93 3.2 使用RequiredFieldValidator控件 94 3.3 使用RangeValidator控件 97 3.4 使用CompareValidator控件 99 3.5 使用RegularExpressionValidator控件 103 3.6 使用CustomValidator控件 105 3.7 使用ValidationSummary控件 111 3.8 创建自定义验证控件 114 3.8.1 创建LengthValidator控件 115 3.8.2 创建AjaxValidator控件 117 3.9 小结 121 第4章 使用Rich控件 122 4.1 接收上传文件 122 4.1.1 把文件保存到文件系统 123 4.1.2 把文件保存到数据库 125 4.1.3 上传大文件 128 4.2 显示日历 133 4.2.1 创建弹出式日期选择器 135 4.2.2 根据数据库表呈现日历 137 4.3 显示广告 141 4.3.1 在XML文件中保存广告 141 4.3.2 在数据库表中存储广告 144 4.3.3 跟踪显示和转到 145 4.4 显示不同的页面视图 149 4.4.1 显示选项卡式页面视图 149 4.4.2 显示多部分表单 152 4.5 显示向导 153 4.6 小结 157 第二部分 设计ASP.NET网站 第5章 使用母版页设计网站 160 5.1 创建母版页 160 5.1.1 创建默认内容 163 5.1.2 嵌套母版页 166 5.1.3 在母版页中使用图片和超链接 170 5.1.4 在Web配置文件中注册母版页 172 5.2 修改母版页内容 172 5.2.1 使用Title属性 173 5.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值