asp.net基础学习之控件的使用方法

本文为大家分享了asp.net控件的使用方法,供大家参考,具体内容如下

1.asp.net页面插入c#代码

事先声明:

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

引入格式: <% %>

变量可以:<%=val %>

<body>
 <h2>从今天开始学习ASP.NET</h2>
 <form id="form1" runat="server">
 <div>
 欢迎使用vs2012<%= DateTime.Now %></div>
 </form>
</body>

2.服务器控件和html控件

服务器控件:
- ASP.NET服务器控件是服务器端ASP.NET网页上的对象,当用户通过浏览器请求ASP.NET网页时,这些控件将在服务器上运行,并向客户端呈现HTML标记。
- 在ASP.NET页面上,服务器控件表现为一个标记,例如<asp:textbox…/>。这些标记不是标准的HTML元素,因此如果它们出现在网页上,浏览器将无法理解它们,然而,当从Web服务器上请求一个ASP.NET页面时,这些标记都将动态地转换为HTML元素。
- 使用ASP.NET服务器控件,可以大大减少开发Web应用程序所需编写的代码量,提高开发效率和Web应用程序的性能。
HTML控件
- 默认情况下,ASP.NET文件中的HTML元素作为文本进行处理,并且不能在服务器端代码中引用这些元素,只能在客户端通过javascript和vbscript等脚本语言来控制。
- 默认情况下, ASP.NET文件中的HTML元素被视为传递给浏览器的标记,作为文本进行处理,不能在服务器端的代码中引用这些元素。
- 若要使这些元素能以编程方式进行访问,可以通过添加runat=”server”属性表明应将HTML元素作为服务器控件进行处理,这样就可使用基于服务器的代码对其进行编程引用了。
- 添加了属性runat=”server”的HTML元素就转换为HTML服务器控件了。移除控件标记中的runat=”server”属性,HTML服务器控件就转换为HTML元素了。
总结:
标准控件和HTML控件之间似乎有一些重叠,但是HTML控件的功能比标准类别中的控件的功能少得多。一般来说,标准类别中的真正服务器控件提供了更多的功能。不过这种功能是有代价的。因为它们增加了复杂度,所以处理服务器控件会多花一点时间。然而,在大多数Web站点上,可能不会注意到这一差别。只有在一个高通信量的Web站点,且在页面上有很多控件时,使用HTML控件才会提供稍好一些的性能。

3.控件添加事件/事件的绑定

(1) 在ASP.NET页面中,在声明控件时,指定该控件的事件对应的事件处理程序。
给button添加onclick事件:
前台aspx

<asp:Button ID="Button1"  runat="server" Text="Button" onclick="MyClick" />

后台.cs代码

protected void MyClick(object sender, EventArgs e)
 {
 Response.Write("<script>alert('sss')</script>");
 }

可以双击该控件直接添加事件。

(2) 如果控件是动态创建的,则需要通过编写代码动态地将事件绑定到方法,例如:
Button myBtn = new Button(“Button1”);
myBtn.Text = “提交”;
myBtn.Click += new System.EventHandler(ButtonClick);

4.控件的属性
 •设置控件的颜色

•设置控件的字体

 5.验证控件

ASP.NET提供的6个有效性验证控件中,5个控件用来执行实际的有效性验证,而最后一个控件ValidationSummary用来向用户提供页面中出现的错误的反馈信息。
 •RequiredFieldValidator:验证一个必填字段
 •CompareValidator:将用户输入与一个常数值或者另一个控件或特定数据类型的值进行比较(使用小于、等于或大于等比较运算符)
 •RangeValidator:RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内
 •RegularExpressionValidator:它根据正则表达式来验证用户输入字段的格式是否合法,如电子邮件、身份证、电话号码等
 •CustomValidator:使用自己编写的验证逻辑检查用户输入。此类验证能够检查在运行时派生的值
 •ValidationSummary:该控件不执行验证,但该控件将本页所有验证控件的验证错误信息汇总为一个列表并集中显示
两个常用的控件:
RangeValidator控件
RangeValidator控件允许检查一个值是否落在特定的范围内。这个控件能检查字符串、数字、日期和货币等数据类型。除了上述共有属性之外,RangeValidator控件还有其他几个重要属性
 •MinimumValue 该属性确定可接受的最小值。例如,当检查1和10之间的整数时,将该属性设置为1
 •MaximumValue 该属性确定可接受的最大值。例如,当检查1和10之间的整数时,将该属性设置为10
 •Type 该属性确定有效性验证控件检查的数据类型。可以设置为String、Integer、Double、Date或Currency来检查各自的数据类型

用法汇总:

<form id="form1" runat="server">
 <div>
 姓名:
 <asp:TextBox ID="txtRequiredField" runat="server"></asp:TextBox>
 <%--RequiredFieldValidator:验证一个必填字段--%>
 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
 ErrorMessage="姓名不能为空!" ControlToValidate="txtRequiredField"></asp:RequiredFieldValidator>
 <br />

 年龄:
 <asp:TextBox ID="txtRange" runat="server"></asp:TextBox>
 <%--RangeValidator:RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内--%>
 <asp:RangeValidator ID="RangeValidator1" runat="server"
 ErrorMessage="年龄不在规定范围内!" ControlToValidate="txtRange" MaximumValue="100"
 MinimumValue="0" Type="Integer"></asp:RangeValidator>
 <br />
 密码:
 <asp:TextBox ID="txtPassword" runat="server"></asp:TextBox>
 <br />
 密码确认:
 <asp:TextBox ID="txtPasswordConfirm" runat="server"></asp:TextBox>
<%-- CompareValidator:将用户输入与一个常数值或者另一个控件或特定数据类型的值进行比较(使用小于、等于或大于等比较运算符)--%>
 <asp:CompareValidator ID="CompareValidator1" runat="server"
 ErrorMessage="密码前后输入,不一致!" ControlToCompare="txtPassword"
 ControlToValidate="txtPasswordConfirm"></asp:CompareValidator>
 <br />
 邮箱:
 <asp:TextBox ID="txtMail" runat="server"></asp:TextBox>
 <%--RegularExpressionValidator:它根据正则表达式来验证用户输入字段的格式是否合法,如电子邮件、身份证、电话号码等--%>
 <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
 ErrorMessage="邮箱格式不符!" ControlToValidate="txtMail"
 ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
 <br />
 <%--ValidationSummary:该控件不执行验证,但该控件将本页所有验证控件的验证错误信息汇总为一个列表并集中显示--%>
 <asp:ValidationSummary ID="ValidationSummary1" runat="server"
 HeaderText="验证信息汇总" />
 <br />
 <asp:Button ID="btnSubmit" runat="server" Text="提交" OnClick="btnSubmit_Click" />
 </div>
 </form>

 

6.导航控件

ASP.NET 4提供了3个有用的导航控件:SiteMapPath、TreeView和Menu。
 1.SiteMapPath:这个Web控件提供一个面包条(breadcrumb),它是一行文本,显示用户当前在网站结构中的位置。例如,在网上书店中,如果用户浏览到《Visual
C++》时,面包条可能类似于“主页->计算机->编程类->Visual
C++”,其中每部分(如主页,计算机等)都显示为返回到前一部分的链接。面包条能够让用户快速地查看当前在网站中的位置,并沿逻辑层次结构向上导航。
 2.Menu:这个Web控件提供网站结构的层次视图。对于学校的网站,顶层菜单将包含主类别(如学校介绍、机构设置、新闻等),每个菜单项又可以包含各自的子菜单,显示各自的子类别。
 3.TreeView:树视图提供了与菜单相同的数据,唯一的区别是显示数据的方式。树视图显示为可展开或可折叠的树,而菜单(Menu)是由菜单项和子菜单组成。

站点地图文件:
关于站点的层级关系,就和html标签中的层级关系一样。

 <?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
 <siteMapNode url="Default.aspx" title="首页" description="">
 <siteMapNode url="Default2.aspx" title="第二页" description="" />
 <siteMapNode url="Default3.aspx" title="第三页" description="" />
 </siteMapNode>
</siteMap>

在aspx文件中引用站点地图:

<form id="form1" runat="server">
 <%--Using SiteMapPath--%>
 <asp:SiteMapPath ID="SiteMapPath1" runat="server"></asp:SiteMapPath>
 <!-- 此处的 SiteMapDataSource 控件是提供给TreeView 和 Menu 使用 -->
 <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
 <%--Using TreeView--%>
 <asp:TreeView ID="TreeView1" runat="Server" DataSourceID="SiteMapDataSource1" />
 <%--Using Menu--%>
 <asp:Menu ID="Menu2" runat="server" DataSourceID="SiteMapDataSource1" />
 <%--Using a Horizontal Menu--%>
 <asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"
  Orientation="Horizontal" StaticDisplayLevels="2" />
 </form>

7.用户控件

对于用户控件,在asp.net开发中,是一个很重要的内容,他可以很大程序的简化使用过程。(其实就是多个控件?包括HTML控件和服务器控件?的组合,并且可以自定义属性)

制作一个用户控件。解决方案管理器-》右键-》添加新项-》Web用户控件。在解决方案管理器里多一个.ascx文件,这个文件就是一个控件。
 1.添加控件代码: 拖入几个服务器空间,并双击button进入后台: 
 <asp:Label ID="ColumnName" runat="server"></asp:Label>
<asp:TextBox ID="Condition" runat="server"></asp:TextBox>
<asp:Button ID="Search" runat="server" Text="搜索"/> 
 2.添加控件事件和属性: 
       public string lableText { get; set; }  //提示用户输入什么样的查询条件
    public string connectionString { get; set; }    //连接数据库
    public GridView resultGridView { get; set; }    //要填充的GridView控件
    public string tableName { get; set; }    //要查询数据库中的数据表名
    public string columnCondition { get; set; }    //根据哪一条进行查询
    public string errorMessage { get; set; }    //错误信息

使用自定义控件:
将ascx文件直接拖动到我们要使用的那个页面即可。

<form id="form1" runat="server">
 <div>
 <uc1:WebUserControl runat="server" ID="WebUserControl" />
 </div>
 </form>

可以查看到添加的属性:

为大家附3个精彩的专题:

ASP.NET控件使用手册

ASP.NET数据绑定控件使用汇总

ASP.NET控件使用汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • asp.net自定义控件代码学习笔记

    效果:在放这个控件的页面: XML/HTML 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test6.aspx.cs" Inherits="test6" %> <%@Register TagPrefix="custom" Namespace="myComponents" %>

  • asp.net Linq to Xml学习笔记

    加上之前学习过Linq to Entity,因此学习起来也比较随心应手. 以下是项目中某个底层的代码,记下做个备忘,如果能给新手学习Linq to Xml带来帮助,那就再好不过了 XML文件的格式: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <configuration> <OPsystemConfig> <MemberCenter> <DomainNam

  • asp.net基础学习之前端页面布局

    前端就是给人看的界面,后台人员不仅要知道后台代码的编写,更要知道前端的布局.有时候要比前端人员知道的还要多,因为有可能前端人员是个21天精通ps的大师级人物.这时候你可以自己写前端. 1.CSS  •CSS(Cascading Style Sheet),中文译为层叠样式表,是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言.就语法而言,  •CSS是一种容易学习的语言.它的"语法"仅由几个概念组成,使得它相当容易入门.CSS的难点在于所有主流浏览器呈现页面的方式.尽管实际

  • ASP.NET MVC学习笔记

    网上关于ASP.NET MVC的系列教程有好几个,所以就不从头开始介绍了,结尾处给大家推荐了几个链接,需要的话可以从头系统的看看. 1.ASP.NET MVC介绍及与ASP.NET WebForm的区别 刚开始为了搞清楚ASP.NET MVC到底值不值得用,翻来覆去想了一个多礼拜,看了好多资料和评论,最后决定还是值得一用.MVC不是一个简单的设计模式,更像一种架构模式,或者一种思想,刚开始一听MVC想到的就是模板引擎,NVelocity,StringTempleate等,但感觉如果只是为了用模板

  • 那些年,我还在学asp.net(一) 学习笔记

    那些年到此,基本学习了前端的基本知识,那些年的第四课就是asp.net,当然那时看了很多教程,比如说:天轰穿,当然天轰穿说得比较多,如面向对象,C#知识,由于当时上过C++,所以就没有看这些,直接从asp.net开始,主要是学习一下asp.net用到的一些基本控件,后来感觉差不多了就不再看了,开始学习asp.net的数据教程(scott教程),那些年慢慢的走向web开发了. 先还是看一下asp.net中的一些基本的控件的使用. 一.GridView控件的使用 1.GridView 是asp.ne

  • ASP.NET预备知识学习笔记

    .NET FrameWork框架 是一套应用程序开发框架,主要目的提供一个开发模型. 主要的两个组件:     公共语言运行时(Common Language Runtime)(CLR): 提供内存管理.线程管理和远程处理等核心服务,并且还强制实施严格的安全类型,提高代码的安全性和可靠想. .NET  Framework类库: 与CLR紧密集成,可以使用它开发多种应用程序和服务.主要包括控制台应用程序.Windows窗体应用程序.WindowsPresentationFoundation(WPF

  • ASP.NET与MySQL数据库简明图示入门教程

    作者: CRYSTAL编译 在ASP时代,如果我们要建立一个数据库驱动的web站点,那么你可以选择环很多钱的微软SQL SERVER数据库或者选择要花很多时间来寻找达到性能和稳定性统一的ACCESS数据库,但在.NET时代你有另一种选择,那就是:MySQL数据库 什么是MySQL数据库? MySQL数据库是一种开放源代码的数据库,通过获得授权来保持源代码的官方支持,同时可以自由修改源代码,目前许多公司和组织都采用了这种数据库.对此详细信息您可以访问MySQL的官方站点. 第一步 下载和安装 与大

  • 值得收藏的asp.net基础学习笔记

    值得收藏的asp.net基础学习笔记,分享给大家. 1.概论 浏览器-服务器 B/S 浏览的 浏览器和服务器之间的交互,形成上网B/S模式 对于HTML传到服务器  交给服务器软件(IIS)  服务器软件直接读取静态页面代码,然后返回浏览器 对于ASPX传达服务器  交给服务器软件(IIS)   IIS发现自己处理不了aspx的文件,就去映射表根据后缀名里找到响应的处理程序(isapi,服务器扩展程序) 问题:IIS如何调用可扩展程序? 答:可扩展程序首先就是按照IIS提供的借口实现代码,所以I

  • 那些年,我还在学习asp.net(二) 学习笔记

    那些年,我还在学习asp.net(二) 那些年觉得看视频是很轻松的了解一个东西,但是这样的不足就是感觉太慢了,没有看书来得快,所以在有了一些了解后,还得看点书,也许书上的不一定好,但书上会把每一个应该说到的地方说到,好有个初步的认识.比如说.NET平台.组件等知识的介绍,所以,那些年就开始了asp.net方面的进一步学习. 一.学习asp.net的准备知识 正如我前面那些年所学习的,在开始之前得对它们有一定的认识: 1.  html语言的基本使用 2.  CSS+DIV的学习,撑握基本的布局 3

  • Asp.net回调技术Callback学习笔记

    .aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

随机推荐