Web控件可分三类

HTML控件

html服务器控件是在HTML控件的基础上,额外增加了一个在当前页面唯一的ID属性值和一个runat = "server" 属性
html服务器控件必须放在服务器表单中,必须在<form runat="server" id="form表单的ID"></form>标记之中
html服务器控件最终在web服务器处会被解释成普通HTML控件标记发送到客户端浏览器

<input id="Text1" type="text" />
 运行在客户端,没有回传,不能用VIEWSTATE维持状态,浏览器完成事件处理
HTML服务器控件
<input id="Text1" type="text" runat="server" />

Web服务器控件 事件驱动编程模型,跨浏览器兼容性,统一的编程接口

简单控件 容器控件 数据绑定控件 数据验证控件及用户控件
asp.net服务器控件都直接或间接派生自System.Web.UI.Control类
ClientID 控件的标识符,在客户端HTML中表示为控件的id属性
ID 在服务器端编程时用户操作控件的ID
skinID 使用主题外观之后控件的ID
UniqueID 控件的分层ID,在客户端HTML代码中表示为控件的name属性
<asp: runat ="server"></asp:>
用户控件和自定义控件
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

48-57
65-90
97-122

FileUpload
<input type="file" .../>
FileBytes byte[] 上传的文件内容的字节数组表示形式
FileContent Stream 上传文件的数据流
FileName string 上传文件在客户端的名字
HasFile bool 指示是否上传的文件
PostedFile HttpPostedFile 获取文件基础的HttpPostedFile

HttpPostedFile对象提供了已经上传的文件的单独访问
ContentLength int 上传的文件内容的字节长度
ContentType string 上传文件的MIME内容类型
FileName string 上传文件在客户端的名字
InputStream Stream 指向上传文件的Stream对象

FileUpload控件上传文件一般有如下步骤:
利用HasFile属性判断是否上传了文件
在服务器上指定一个物理路径,并检查这个物理路径是否存在,若不存在则先创建
指定上传文件在服务器上的上传路径,利用SaveAs()保存上传的文件
还可以检查上传的文件格式是否符合要求以及文件内容大小是否符合要求
将相对路径或URL地址保存起来,以便客户访问或者下载

Panel控件是一个容器控件,用来组容器存储一组容器控件,它常用来存放一组业务逻辑上相似的控件组,设置Panel控件的某些属性就相当于设置了这个控件组里所有控件的相应属性,操作起来相当方便

PlaceHolder控件的用作容器控件,不过控件本身在客户端不产生任何HTML标记
PlaceHolder控件有一个Controls属性,这个属性表示这个容器控件容纳的控件的集合,Controls属性是ControlCollection类的一个实例,这方法向集合中个类有Add()方法增加控件,用Remove()方法删除控件,还有一个Count属性表示这个集合中共有多少个控件

对于一个普通HTML表单,它有两个重要的属性action和method
action属性指明当前表单提交之后由哪个程序来处理,这个处理程序可以是任何动态网页或者servlet或者CGI(Common Gateway Interface),在asp.net里面一般都是由aspx页面来处理的。
method属性指明表单提交的方式,它有两个可能值get和post。
get:会在地址栏会显示参数名和参数值,面post方式不会。用post提交参数相对来说更隐蔽一些,也相对安全一些。
get方式提交有最大字符数的限制,而post方式则没有这个限制。

1.第一个基础html知识,Request.Form 接收的是Name值,而非ID值
2.第二个基础asp.net知识,asp.net的控件的ID和Name值是一样第,但是其在客户端表现是control.clientID而非control.ID
3.第三个基础知识asp.net本身也是可以跨页提交滴,如果是使用自己带的跨页提交就不存在上述问题,不过asp.net自己带的跨页提交有另外的接收方式

服务器端表单比HTML表单多了两个属性:id和runat属性。
如<form id="form1" runat="server"></form>
可以不指定action属性,表示由当前页面处理,也可以不指定method属性,默认为post方式提交表单。
在服务器端表单里,我们不光可以使用HTML控件,还可以使用HTML服务器控件,还可以使用asp.net控件
在asp.net页面中可以有多个不带runat="server"表单,但只能有一个服务器表单

HTML服务器控件还提供一些区别于普通HTML控件的属性,比如HTML的Button服务器控件提供了一个onserverclick属性,这个属性表示当点击这个按钮之后会提交给此属性指定的服务器端方法进行处理。
<input type="submit" runat="server" id="btnOK" value="提交" onserverclick="btnOk_Click"
protected void btnOK_Click(Object object,EventArgs args)
business logic layer
data Access layer

Web控件的更多相关文章

  1. 2015.2.16 关于delphi web控件打开新网页时弹出关闭页面(js代码)出错的解决办法研究

    参考网址1:http://www.csharpwin.com/csharpspace/2360.shtml...参考网址2:http://www.oschina.net/question/234345 ...

  2. 033. asp.netWeb用户控件之二将页面转换成web控件和使用Web控件显示热点新闻

    访问Web用户控件的属性 ASP.NET提供的各种服务器控件都有其自身的属性和方法,程序开发人员可以灵活地使用服务器控件中的属性和方法开发程序.在用户控件中,程序开发人员也可以自行定义各种属性和方法, ...

  3. [MFC] MFC 打开HTML资源(用ID版,也可加载到自己的web控件上)

    @ ^ @:如果是加载到web控件上,就把注释掉的解除注释(改为web控件点后面的函数),把下一句注释 BOOL Button::LoadFromResource(UINT nRes){//打开网页加 ...

  4. 译:c#生成条码的web控件

    译文:http://www.codeproject.com/Tips/846860/Csharp-Barcode-Generator-Web-Control 在asp.net的web页用c#的web控 ...

  5. Javascript语法去控制Web控件的Enabled属性

    Web控件当使用Enabled属性时,它生成html之后会变成了disabled了.我们为了能够在javascript去控制控件的禁用与启用,得从这个disabled入手.如:

  6. Web控件文本框Reset的功能

    在前一篇中<怎样实现Web控件文本框Reset的功能>http://www.cnblogs.com/insus/p/4120889.html Insus.NET只实现了文本框的功能.单个或 ...

  7. 怎样实现Web控件文本框Reset的功能

    在ASP.NET开发过程序,在数据插入之后,文本框TextBox控件需要Reset.如果只有一两个文件框也许没有什么问题,如果网页上有很多文本框,你就会有点问题了.再加上某一情形,一些文本框是有默认值 ...

  8. 基本的Web控件四

    基本的Web控件用法二 ListBox控件 页面布局: <div> <h1>ListBox控件</h1> 学生列表: <br/> <asp:Lis ...

  9. 基本的Web控件三

    基本的Web控件用法一 ListBox控件 页面布局: <div> <h1>ListBox控件</h1> 学生列表: <br/> <asp:Lis ...

  10. 基本的Web控件一

    ASP.NET提供了与HTML元素相对应的基本Web控件,ASP.NET提供的基本的Web控件如下: 基本的Web控件       对应的HTML元素 Label  ----------------- ...

随机推荐

  1. NGRC远程控制

    这是大三学完计算机网络的课程之后开始写的东西,后来慢慢完善到能用的程度. 界面大概是这样 还有这样 使用Java的好处是不用修改就可以在Mac和Linux上运行(测试过Ubuntu和OS X) 缺点是 ...

  2. 利用Trie树对字符串集合进行排序并计算特征值

    该算法用于将一组乱序的字符串反序列化到一个Trie树中,这个过程即可视为对字符串进行了一次排序. 还可以通过调用 GetFeatureString 将该 Trie 树重新序列化. #include & ...

  3. EXCEL VBA 选择文件对话框

    Sub XXX() Dim arr() arr = Application.GetOpenFilename("所有支付文件 (*.xls;*.xlsx;*.csv),*.xls;*.xlsx ...

  4. C/C++基础(二)

    (1)运算符优先级 #include <cstdio> using namespace std; int main() {    unsigned char a = 0xA5;    un ...

  5. 全栈project师?给把瑞士军刀你去砍鬼子好不好!?

    来自www.techgogogo.com 编者注:本文来自Medium前三名推荐文章,发文时已经获得高达2,125个推荐,中文版由天地会珠海分舵编译.全文对当今风靡业界的"全栈xx师&quo ...

  6. android 45 通知

    package com.sxt.day07_01; import android.app.Activity; import android.app.Notification; import andro ...

  7. 泰晓科技 +兰大开源社区 +程序动态分析---LINUX内核网站

    http://www.tinylab.org/ http://linux-talents.tinylab.org/lzuoss/ http://www.tinylab.org/source-code- ...

  8. java获取当前方法

    1.获取当前方法堆栈,我们一般用 StackTraceElement[] stes = Thread.currentThread().getStackTrace(); 想要获取当前方法,切记不够灵活, ...

  9. ArrayBlockingQueue 源码阅读 问题(一)

    今天阅读java.util.concurrent 中 ArrayBlockingQueue 的源码,发现其中有很多下面这行代码 final ReentrantLock lock = this.lock ...

  10. linux-3.0下input_dev模型按键驱动

    该代码在FL2440开发板上测试通过,为方便教学,将驱动中的platform_device和platform_driver故意分为两个驱动模块. [guowenxue@centos6 input_kb ...