今天开始把最基础的Asp.Net服务端基本控件学习巩固了一下html
1.Asp.Net服务端控件是Asp.Net对HTML的封装,在C#代码中就能够用txt1.Text="指定值"这种方式修改 input的值,Asp.Net会将服务端控件渲染成HTML代码输出给浏览器,服务端控件是Asp.Net很是容易上手,也很是吸引初学者,但也是被人诟病的东西。由于它会传输不少没法的东西,如viewstate. 服务端控件在内网或互联网系统的后台部分等访问频率不高的地方仍是很适合的。web
服务端控件只能用post方式提交,用get很麻烦,由于它携带了大量的数据,若是用get会给用户很大的干扰。浏览器
2.全部的Asp.net大部分都有是从Control,WebControl类继承的,几乎全部成员有如下内种属性:服务器
(1) ClientID:控件在客户端的ID,控件在服务端的id不必定等于客户端HTML中的id,如在用户自定义的web控件中放出一个edit和 button,它们默认的id为textBox1和button1,当咱们把这个web控件拖动到一个网页上时就会显示这两个控件,你多放上几个此种控 件,你再看下html客户端源码,你会发现它和服务端的id是不同的,这就是clientID.函数
所以若是要在客户端经过Js,jQuery,Dom的getElementById,$("#id")来操做控件的话最好不要直接写服务端ID,而是这样写:$("#<%=txt1.ClientID%")等.post
(2) Visible属性,控件是否可见。若是Visible=False是不会被渲染到HTML客户端的,这和在HTML中 style.display=none的效果是不同的。 若是用HTML的display效果,你在运行进查看网页的源码,就会发如今html中能够看到这些元素,而若是用服务端控件的visible为 false,则在网页的源码中是看不到这个元素的,即在客户端这个元素并不存在。只有为Ttrue时才会出如今客户端。学习
(3) CssClass属性:控件的样式名,其实就是HTML控件的class属性。网站
(4) Attributes:用来设置获取控件的额外属性,和Dom中的setAttribute(),getAttribute()是同样的。spa
它有几下几个经常使用的控件:.net
1.Label控件,Text属性为显示的文本,AssociatedControlID属性用来关联一个控件。若是为空的话会展现为HTML中的 span元素。若是指定为一个控件的id,则会展现为一个HTML中的<Label>而且将for属性设置为被关联控件的ClientID.
2. Literal控件,它是展现一段文本,可是Literal控件不会渲染成任何额外的标签,就是将Text属性的值展现出来而已。
它有个属性Mode的值为Encode,至关于HttpUtility.htmlEncode函数,便可把< >等符号解析为其它的,不会把这些符号当成js中的符号。
3. textBox控件,文本框控件,textMode属性取值SingleLine,MultiLine,Password,分别渲染为input的 text,textarea,password.当AutoPostBack属性为True时,用户名焦点离开TextBox就会形成页面的post.实 现原理就是TextChanged事件,即文本发生变化时触发。
4. RadioButton控件,渲染为input type=radio.经过Groupname 属性进行分组。
5.Button控件。OnClientClick属性,当用户点击按钮的时候在浏览器端执行的代码,注意OnClientClick是字符串属性,写的就是js代码,运行在浏览器端。
6.LinkButton .用法和Button差很少,区别就是Button控件渲染为按钮,而linkButton渲染为超链接。不要用linkbutton来实现普通的超连 接,由于lindbutton的href为通常js代——进行的是表单的post.没法在“新窗口”中打开链接。
7.Imagebutton控件也和button差很少,只不过是显示图像,渲染为input(type=imaeg)
8.Button,linkButton,ImageButton等控件都有CommandName,CommandArgument两处属性和 Command事件。可让多个按钮控件共享一个Command事件处理函数。经过读取事件对象e的 CommandName\CommandArgument两个属性读取被点击按钮上设置的这两个参数来执行不一样的操做
9. Panel控件。 它是用来盛放一些控件,若是设定了GroupText属性,那么就被渲染为<fieldset>标签,也是就GroupBox效果,不然会渲染为<div>效果。
10.HyperLink控件,超链接。和LinkButton不同,不会向服务器端Post,就是一个超链接。
NavigateUrl:链接地址; Text为显示文本。若是设定imageUrl属性,则会显示图片超链接。
11.FileUpload控件,文件上传的控件。渲染成input( type=file).
它的属性为: FileContent:以流的形式得到上传的文件. FileName:上传的文件名. HasFile:bool.表示用户是否选择文件。 SaveAs:用于将文件保存到磁盘的指定位置。
固然用户能够上传个aspx样的网页而后再运行这个上传后的网页,它能够在网页上写上:Files.deleteAllFile等,就能够把网站上特定目 录中的文件都删除,如何防范:能够只容许上传指定类型的文件,并设定上传的文件夹不给执行的权限便可。即WebShell就是专门干这样的坏事的。