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

第一种: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. iview中事件获取自定义参数

    前提:页面渲染多个cascaer组件,根据不同cascader组件选中的值,加载不同内容 解决:此时需要解决的问题是,在on-change事件中返回index索引使用如下格式: <Cascade ...

  2. Python基础-socket编程

    一.网络编程 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了. 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信.网络编程就是如何在程序中实现两台计算机的 ...

  3. Git连接GitLab远程仓库

    1.简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github.gitlab等.为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLa ...

  4. 如何修改settings.xml的镜像

    今天在下载一个maven依赖包时候,下载后一直显示的是upload的jar包,然后检查了下自己的settings.xml配置,发现依赖的还是以前的内网nexus得配置.所以下载不下来,现在改为ali的 ...

  5. Linq中的in和not in的使用方法

    T-SQL语句: select * from PayingRecords where ClientID='17787665-1d98-49e6-b254-a6a6553c4b42' and ID no ...

  6. SVNKit学习——Setting Up A Subversion Repository 创建仓库(三)

    所谓Setting Up A Subversion Repository,就是在Subversion所在的服务器上创建一个仓库,说白了就是在磁盘上建一个特殊的目录,这里我以windows举例. 1.使 ...

  7. 使用DIDatepicker

    使用DIDatepicker https://github.com/noxt/DIDatepicker 效果: #import "DIViewController.h" #impo ...

  8. Python学习---重点模块之xml

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单 数据准备 <?xml version="1.0"?> <data&g ...

  9. ERROR Review:Unsupported major.minor version 52.0

    最近将AS从2.1.2升级至2.2版本后,项目编译报出了如下错误: java.lang.UnsupportedClassVersionError: com/android/build/gradle/L ...

  10. 如何使用jMeter对某个OData服务进行高并发性能测试

    For project reason I have to measure the performance of OData service being accessed parallelly. And ...