---恢复内容开始---

第一种:HTML控件

ASP.Net把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性、无法在服务器端进行处理。

比如:

  1. <input111 type="text" name="name" value=" " />
  2. <input type="text" name="name" value=" " />

自己写的错误的HTML控件不会在浏览器显示,也不会报错。

  1. //客户端:
  2. <input type="text" name="name" value=" " id="text1"/>
  3. ------------------------------------------------------- //服务器端:
  4. protected void Page_Load(object sender, EventArgs e)
  5. {
  6. text1.Text = "abc"; //报错,名称"text1"不存在
  7. }

第二种:ASP.Net服务端控件

经过ASP.Net高度封装的控件,使用简单,运行在服务器端,可以在服务端使用C#代码进行操作,会渲染到客户端为HTML控件。

比如:

  1. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

在浏览器端渲染为:

  1. <input name="TextBox1" type="text" id="TextBox1" />

第三种:runat="server"的HTML控件。

在HTML控件的基础上添加 runat="server",也是运行在服务器端的,也可以服务器端使用C#代码进行操作,也会渲染到客户端,不像ASP.Net服务端控件那样高度封装,暴露的属性大部分是普通HTML属性。和ASP.Net服务端控件相比的好处是:当需要服务器端要对控件进行操作的时候,如果控件没有被ASP.Net服务端控件封装的时候,用runat="server"的HTML控件很方便,runat="server"的HTML控件也会对虚拟路径、id -> ClientID 进行处理,所以在使用虚拟路径、UserControl中也可能会用到。

比如:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. //ASP.Net服务器端控件高度封装,设置样式
  4. TextBox1.BackColor = Color.Red; //设置背景颜色
  5. TextBox1.BorderStyle = BorderStyle.Dotted; //设置边框
  6.  
  7. //runat="server"的HTML控件没有封装,设置样式方式不统一
  8. //Text1为文本框id,td1为表格的单元格id
  9. Text1.Value = "aaa"; //设置文本框内的值
  10. td1.Align = "center";
  11. td1.BgColor = "red";
  12. td1.Width = "50%";
  13. }
  14. ------------------------------------------------------------
  15. //Text1能按原始的方式设置样式
  16. <input type="text" style="background-color:Green;border:dotted;" runat="server" id="Text1"/>

<a> -> HtmlAnchor;<form> -> HtmlForm;head -> HtmlHead;input -> HtmlInputButton、HtmlInputCheckBox、HtmlInputText等;meta -> HtmlMeta;table -> HtmlTable;tr -> HtmlTableRow;td -> HtmlTableCell;title -> HtmlTitle。未单独封装的标签(比如div)对应类型为HtmlGenericControl。使用Attributes属性操作未封装的属性。

PS:在JS脚本中取第一种和第三种服务器端控件的ID方法:

document.getElementById("<%=Button1.ClientID %>");

document.getElementById("<%=TextBox1.ClientID %>");

ASP.Net 中的三种控件的更多相关文章

  1. Asp.Net中的三种分页方式

    Asp.Net中的三种分页方式 通常分页有3种方法,分别是asp.net自带的数据显示空间如GridView等自带的分页,第三方分页控件如aspnetpager,存储过程分页等. 第一种:使用Grid ...

  2. Asp.Net中的三种分页方式总结

    本人ASP.net初学,网上找了一些分页的资料,看到这篇文章,没看到作者在名字,我转了你的文章,只为我可以用的时候方便查看,2010的文章了,不知道这技术是否过期. 以下才是正文 通常分页有3种方法, ...

  3. ASP.NET中 TextBox 文本输入框控件的使用方法

    TextBox控件又称文本框控件,为用户提供输入文本的功能. 1.属性 TextBox控件的常用属性及说明如表1所示. 表1 TextBox控件常用属性及说明 属性 说明 AutoPostBack 获 ...

  4. ASP开发中服务器控件和普通控件的区别

    1.对于服务器按钮控件(即<asp:Button>类型的按钮):服务器响应事件:OnClick客户端响应属性:OnClientClick 2.对于html按钮控件(即<input t ...

  5. 1 asp.net 中如何把用户控件应用于母版页

    1 创建用户控件 2 在母版页中注册用户控件 3 使用 <%@ Master Language="C#" AutoEventWireup="true" C ...

  6. Cocos2dx中的四种控件及主要用法

    1.控件:即控制对象,控制按钮之类的精灵 2.主要介绍四大类控件: CCControlSlider:进度条 CCControlSwitch:开关 CCScale9Sprite:9妹图(用于缩放) CC ...

  7. 在ASP.NET MVC 中使用ActiveReports报表控件

    随着MVC模式的广泛运用,对Web应用系统的开发带来了巨大的影响,我们好像又回到了原来的ASP时代,视乎这是一种后退而不是一种进步,不过MVC模式给我们带来的影响不仅限于我们所看到的这一点..MVC看 ...

  8. HTML中禁用表单控件的两种方法readonly与disabled

    时候我们会希望表单上的控件是不可修改的,比如在修改密码的网页中,显示用户名的文本框就应该是不可修改状态的,下面与大家分享下禁用表中控件的两种方法 在网页的制作过程中,我们会经常使用到表单.但是有时候我 ...

  9. Android应用项目中BaseAdapter、SimpleAdapter和ArrayAdapter中的三种适配器

    一.写在前面: 本次我们来讲解一下Android应用中三个适配器:BaseAdapter.SimpleAdapter和ArrayAdapter.其中常见的是BaseAdapter,也是个人推荐使用的适 ...

随机推荐

  1. 软件项目技术点(5)——在canvas上绘制动态网格线

    AxeSlide软件项目梳理   canvas绘图系列知识点整理 grid类的实现 当鼠标在画布上缩放时,网格能跟着我的鼠标滚动而相应的有放大缩小的效果. 下面是具体实现的代码,draw函数里计算出大 ...

  2. roadflow asp.net core版工作流引擎更新发布

    ROADFLOW CORE (.NET CORE工作流引擎)更新说明 1.RoadFlow全新工作流平台采用.NET CORE 2.1重构,结构更简单,逻辑梳理更清析,性能有了很大的提升. 2.表单设 ...

  3. Hush Framework框架配置(转)

    在写这篇文章的时候,楼主已经饿的不行了,因为我从3点开始就在折腾Hush Framework,走了很多弯路,打铁要趁热,先把基本的过程记录下来,留待以后翻阅,同时记录其中容易走弯路的地方,特别是对于一 ...

  4. scrum心得和团队作业

    一.学习scrum心得 敏捷的介绍 最近上课我们了解到了敏捷,很多人开始谈论敏捷开发.研究敏捷开发,那么究竟什么才是敏捷开发呢? 简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开 ...

  5. 深入理解http协议的特点

    HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...

  6. ubuntu下root不能复制 abc用户下的软连接文件

    使用root用户去复制,提示权限不足: 那么这个软连接是个什么东西??

  7. C++ 类对象的初始化顺序 ZZ

    C++构造函数调用顺序 1.     创建派生类的对象,基类的构造函数优先被调用(也优先于派生类里的成员类): 2.    如果类里面有成员类,成员类的构造函数优先被调用:(也优先于该类本身的构造函数 ...

  8. lvm 相关

    求教:/home分区和/root分区的关系 lvm扩容试验 [复制链接] lvm快速使用http://imysql.cn/2008_05_05_quick_startup_lvm Linux LVM学 ...

  9. 【源码分析】cocostudio场景编辑器的触发器逻辑

    去看场景编辑器的差不多都可以看到有模拟器的设置(菜单栏的设置).默认是选择cocostudio安装路径中的Simulator.exe这个模拟器,看官网介绍是自己可以选择模拟器,而且公开源代码可以按需设 ...

  10. redis持久化方法

    1.redis持久化,来自官方说明 如何选择使用哪种持久化方式? 一般来说, 如果想达到足以媲美 PostgreSQL 的数据安全性, 你应该同时使用两种持久化功能. 如果你非常关心你的数据, 但仍然 ...