所有的ASP.Net大部分都是从Control、WebControl类继承的:
§(1)ClientID,控件在客户端的Id,控件在服务端的Id不一定等于客户端HTML中的Id,比如说在ListView等控件的模板中。因此如果要在客户端通过JavaScript Dom、JQuery的getElementById、$(“#id”)来操作控件的话最好不要直接写服务端Id,而是$(‘#<%=txt1.ClientID%>’)。用JQuery事件设置鼠标移到控件上和从控件移开的不同样式。在用户控件中就可以看到ClientID和id的不同。UserControl、母版、ListView。推荐永远用ClientID
§(2)Visible 属性, 控件是否可见,如果Visible=False是不会转到HTML中的,(Visible=“hidden”有,但是藏起来了)这和在HTML中给元素style.display='none'效果是不一样的。
§(3)CssClass 属性,控件的样式名,就是HTML中控件的class属性。也可以单独修改BackColor、BorderStyle等属性,但是不建议这么做,因为会生成很多的内联样式,生成html尺寸大,不便于统一的修改。
§(4)Attributes,用来设置获取控件的额外属性。和Dom中的setAttribute()、getAttribute()是一样的。Button1.Attributes[“a1”] = “2.jpg”; HTML事件在服务端看来也是属性 Button1.Attributes[“onmouseover”] = “alert(‘hello’)”;
ASP.NET服务器控件的语法是在控件的页面标记上包含 runat=“server”属性。而Web控件的页面标记通常以<asp:>开头。
1. Label(标签)
作用:用于在页面上显示文本 。
Label控件。Text属性为显示文本。AssociatedControlID属性用来关联一个控件,如果为空的话会展示为一个<Span>,如果指定为一个控件的id,则会展示为一个HTML中的<Label>并且将for属性设置为被关联控件的ClientId。
<asp:Label ID="控件名 runat="server" Text="显示的文本"></asp:Label>
在浏览器渲染为:
-----<span>
-----AssociatedControlID----<Label>
-----AutoPostBack=Ture时不用点击别处就可显示。=flase时则可以不用点击别处
2.Literal
不渲染任何标签,设置Mode属性为Encode,避免xss攻击。
Literal控件也是展示一段文本,但是Literal控件不会渲染任何额外的标签,就是将Text属性的值展示出来而已。
3. TextBox(文本框)
作用:
用于建立单行文本输入框singleLine、密码输入password、多行motiline文本输入,主要通过TextMode属性来区别三种输入模式。
分别渲染为input(type=text)、textarea和input(type=password)。
典型事件:
TextChanged ,在文本框中的内容发生改变时候被激发。 (需要AutoPostBack=true才会修改后触发,否则是页面提交才触发),文本发生变化的时候事件触发。ASP.Net中要提交表单的时候最好调用__doPostBack方法
4.Radio
RadioButton控件,对应为input(type=radio),通过GroupName属性进行分组
5.Button(按钮)
作用:Button控件呈现为一个普通按钮,它是一个标准的按钮提交控件,一般用于提交Web表单。
OnClientClick属性,当用户点击按钮的时候在浏览器端执行的代码,注意OnClientClick是字符串属性,写的代码是JavaScript代码,运行在浏览器端。
Click :被单击时候激发,并将表单提交给服务器。
Command:也是在单击时产生,但是同时CommandName和CommandArgument属性的值与该事件一起被传递。
6. LinkButton(链接按钮)
作用:可以在页面上创建超级链接样式的按钮。即LinkButton的外观和HyperLink控件一样,但是功能与Button控件相同。
用法和Button差不多,区别就是Button控件渲染为按钮,而LinkButton渲染为超链接。不要用LinkButton来实现普通的超链接,因为LinkButton的href为一段javascript代码,进行的是表单的Post,无法“在新窗口中打开连接”。和讲“行删除”那个例子中href为javascript的超链接原理一样。一般用Button就行,只有用户要求“长成超链接好”采用LinkButton,就是一个在浏览器中渲染成超链接,服务端当成按钮用的东西。
vHyperLink:IsPostBack=False,没有提交表单内容,没有OnClick事件。
7.超级链接控件HyperLink
HyperLink主要用于实现超文本链接。可以以文本的方式或者图形方式呈现HyperLink控件。
用户单击HyperLink控件时并不会在服务器代码中引发事件。相当于HTML中的<a href>元素,使用HyperLink控件的主要优点是可以通过代码动态设置链接目标
NavigateUrl:用户单击时所转向的页面URL
Text:字符串,链接文字
ImageUrl: 以图像方式呈现链接时,图形的URL Target: 目标框架,默认为本框架,_blank标识新窗口和LinkButton不一样(常考),不会向服务器端Post,就是一个超链接。NavigateURL:链接地址;Text:显示文本。如果设定ImageUrl属性则会显示图片超链接.