轻松学习Asp.net控件

          学习每一种语言必不可少的就是控件的学习。每种语言的开发环境中的控件也都大同小异。Asp.net控件很简单,设置一下控件的属性直接把控件拿过来用就可以了,而在Cs中如果控件要验证一下是否为空还要编写代码,这是Asp.net的优势。

       而每当点击ASP.NET的Web网页上的Button、LinkButton或ImageButton等控件时,表单就会被发送到服务器上。如果控件的AutoPostBack属性设置成true的话,每次控件的状态改变,将发送一个request到服务器,这种频繁的与服务器打交道,增加服务器的压力,所以现在使用了Ajax。


asp.net控件总结:

            轻松学习Asp.net控件_第1张图片

        asp.net控件总共有四种类型,每种类型的使用也都相同,只要知道各自的不同的地方就可以轻松掌握了。

举例子:

          Repeater控件的使用:Repeater控件用户显示重复的项目列表,这些项目被限制在该控件。Repeater控件有5个模板,下面来应用一下。

      web窗体代码:

<asp:Panel ID="Panel1" runat="server" Height="297px" Width="496px">
            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <%# DataBinder.Eval(Container.DataItem,"pID") %><%# DataBinder.Eval(Container.DataItem,"personName") %>
                </ItemTemplate>
                
                <AlternatingItemTemplate>
                    <font color="red">
                    <%# DataBinder.Eval(Container.DataItem,"pID") %> <br />
                    <%# DataBinder.Eval(Container.DataItem,"personName") %>
                   </font>
                </AlternatingItemTemplate>
                
                <HeaderTemplate> 
                    <h3>模板页眉</h3>
                </HeaderTemplate>
               
                 <FooterTemplate> 
                    <h3>模板页脚</h3>
                </FooterTemplate>
                <SeparatorTemplate>
                    <hr />
                    <hr />
                </SeparatorTemplate>
            </asp:Repeater>
        </asp:Panel>


后台代码:

public partial class repeaterControl : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                this.Label3.Text = "1";
                this.dataBindToRepeater();
    
            }

        }
        /// <summary>
        /// 构造一个方法,打开数据库和查询数据库中数据,并分页显示
        /// </summary>
        private void dataBindToRepeater()
        {
            //定义当前页
            int curPage = Convert.ToInt32(this.Label3.Text);
           
            //连接打开数据库并查询
            SqlConnection con = DB.createCon();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from person", con);
            DataSet ds = new DataSet();
            sda.Fill(ds,"ado");
            System.Web.UI.WebControls.PagedDataSource ps = new PagedDataSource();
            ps.DataSource = ds.Tables["ado"].DefaultView;
            ps.AllowPaging = true;
            //每页显示三行
            ps.PageSize = 3;
            ps.CurrentPageIndex = curPage - 1;
            
            this.Button1.Enabled = true;
            this.Button2.Enabled = true;
            //如果是第一页,上一页按钮不能用
            if (curPage==1)
            {
                this.Button1.Enabled = false;
            }
            //如果是最后一页下一页按钮不能用
            if (curPage==ps.PageCount)
            {
                this.Button2.Enabled = false;   
            }

            //数据源绑定
            this.Repeater1.DataSource = ps;
            this.Repeater1.DataBind();
        }

        
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
            //将label3的内容强制转换为字符串类型
            this.Label3.Text =Convert.ToString( Convert.ToInt32(this.Label3.Text)-1);
            this.dataBindToRepeater();
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button2_Click(object sender, EventArgs e)
        {
            //将label3的内容强制转换为字符串类型
            this.Label3.Text = Convert.ToString(Convert.ToInt32(this.Label3.Text) + 1);
            this.dataBindToRepeater();
        }

    }


显示结果:

        轻松学习Asp.net控件_第2张图片

 这样就做好了。

    总结

           Repeater控件的5个模板分别是

          <ItemTemplate></ItemTemplate>:为数据源中每个数据项都要呈现一次的HTML元素和控件。
         <AlternatingItemTemplate>  </AlternatingItemTemplate>:为数据源中每个数据项都要呈现一次的HTML元素和控件。
         <HeaderTemplate></HeaderTemplate>:包含在列表的开头呈现的文本和控件
         <FooterTemplate> </FooterTemplate>:包含在列表的结束呈现的文本和控件
         <SeparatorTemplate></SeparatorTemplate>:包含在每项之间呈现的元素。典型示例是一条直线。


你可能感兴趣的:(轻松学习Asp.net控件)