轻松学习Asp.net中的控件

简介:        C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
       C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 C/S结构即大家熟悉的客户端服务器结构。从进入提高班开始,我们就学习着C/S方面的知识,现在,我们开始接触B/S方面的内容,现在学习的ASP.NET既可以开发C/S,又可以开发B/S,web应用程序的平台。在由C/S向B/S过度的这个阶段,.net平台演绎着举足轻重的作用。这里先从.NET平台中的控件进行简单介绍。

      由于前边我们学习VB 6.0,VB.NET并相继开发了,学生管理系统,机房收费系统,两个客户端服务器应用程序。对于Windows窗体的设计,还是非常熟悉,随着学习的深入,现在我们的视角转移到了.NET平台,但是换汤不换药,大概还是那些东西,只是有些用法不同而已,这个需要我们下来多实践才可以,这块的学习,完全可以对比VB 6.0开发工具来学习,很多控件的很多属性方法都相同,这里我们需要掌握的就是熟悉相同,清楚不同的。 学习每一种语言必不可少的就是控件的学习。每种语言的开发环境中的控件也都大同小异。Asp.net控件很简单,设置一下控件的属性直接把控件拿过来用就可以了,而在Cs中如果控件要验证一下是否为空还要编写代码,这是Asp.net的优势。该篇博文,小编主要简单总结一下Asp.net中的控件,在举一个简单的小例子。如下图所示:

        

       一如我们上图所展示的,在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();  
        }  
  
    }  
      显示效果如下:

      

        PS:在这里小编主要简单总结一下Repeater控件中的五个模板,如下图所示:

       

      小编寄语:该博文,小编主要简单的介绍了一下Asp.net中的控件,举了一个小例子,对于这块的学习,我们可以对照着以前学习BS方面的内容,控件的使用需要在实践中多多联系,方能熟练掌握,因为古语云,熟能生巧,C/S学习,未完,待续......

        
    
目录
打赏
0
0
0
0
7
分享
相关文章
C#/.NET/.NET Core学习路线集合,学习不迷路!
C#/.NET/.NET Core学习路线集合,学习不迷路!
290 0
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
83 8
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
259 0
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
723 0
一组.NET MAUI绘制的开源控件 - AlohaKit
一组.NET MAUI绘制的开源控件 - AlohaKit
138 0
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
这篇文章是关于计算机组成原理的王道考研学习笔记,主要介绍了半导体存储器RAM和ROM的相关知识。
学习计算机组成原理(王道考研)------第十一天https://zhengyz.blog.csdn.net/article/details/121706379?spm=1001.2014.3001.5502
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
ASP.NET Core 标识(Identity)框架系列(三):在 ASP.NET Core Web API 项目中使用标识(Identity)框架进行身份验证
116 1
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
ASP.NET Core 标识(Identity)框架系列(一):如何使用 ASP.NET Core 标识(Identity)框架创建用户和角色?
121 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等