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

第一种:HTML控件

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

比如:

 <input111 type="text" name="name" value=" " />
<input type="text" name="name" value=" " />

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

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

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

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

比如:

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

在浏览器端渲染为:

 <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中也可能会用到。

比如:

 protected void Page_Load(object sender, EventArgs e)
{
//ASP.Net服务器端控件高度封装,设置样式
TextBox1.BackColor = Color.Red; //设置背景颜色
TextBox1.BorderStyle = BorderStyle.Dotted; //设置边框 //runat="server"的HTML控件没有封装,设置样式方式不统一
//Text1为文本框id,td1为表格的单元格id
Text1.Value = "aaa"; //设置文本框内的值
td1.Align = "center";
td1.BgColor = "red";
td1.Width = "50%";
}
------------------------------------------------------------
//Text1能按原始的方式设置样式
<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. Error running Tomcat8: Address localhost:1099 is already in use 错误解决

    摘要: 有时候运行web项目的时候会遇到 Error running Tomcat8: Address localhost:1099 is already in use 的错误,导致web项目无法运行 ...

  2. jquery文本框textarea自适应高度

    浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法: <body> <textarea id=&quo ...

  3. iframe 子页面改变父页面样式

    iframe 子窗口调节父窗口样式: $(window.parent.document).find("body").attr("style"," 父元 ...

  4. c#调用c++制作的基于mfc的ocx控件

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51286926 原文中有问题部分已修改. c#调用c++制作的基于mfc的ocx控件     ...

  5. Python 练习项目1 弹球游戏

    这几天学习了python的基础知识,然后参考了网上的一些资料,完成了一个自己的小游戏,弹球游戏比较简单,但却具备了一些游戏的普遍特征,对于初学者是一个比较合适的锻炼的项目. 下面是效果图: 完整程序: ...

  6. 遍历查询结果集,update数据

    select NULL mykey, * into #mytemp from dbo.DIM_DISTRIBUTOR declare @i int begin ) print @i )) where ...

  7. WCF服务上应用protobuf z

    protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样 的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多.虽然是二进制数据格式,但并没有因此变得 ...

  8. kvm虚拟机shutdown命令不起作用

    使用 virsh shutdown vmhost 发现虚拟机没有关闭,命令没有起作用. 只能使用 virsh destroy vmhost 来强制关闭虚拟机 解决: 在vmhost虚拟机里面安装acp ...

  9. linux系统开机突然黑屏,只有光标

    以前系统都是好好的,今天开机黑屏了,只有一个光标可以看见其他东西都看不见了. 经过检查发现是磁盘满了,将不用的文件删除之后可以正常开机了.特此记录一下!!! 有人问黑屏了怎么删文件? 我采用的方法是W ...

  10. 发布Hessian服务作为服务内部基础服务

    摘要:Hessian经常作为服务内部RPC工具来使用,速度快效率高.重构代码的核心思想就是把共用的代码段提出来,使代码结构优化:架构设计类似,把基本的共用的服务提出来,使架构优化.下面讲述一下我在具体 ...