C#进阶之路——7.ASP.NET常用控件
基础:
ASP.Net控件在“工具箱”中可分为:
} 标准控件
} 数据控件
} 验证控件
} 导航控件
} 登录控件
} WebParts控件
} AJAX Extensions控件
} 报表控件
} HTML控件(客户端控件)
ASP.Net 控件应用类型 | |
HTML控件 | ASP.Net把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性、无法在服务器端进行处理。 |
<input111 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#代码进行操作,会渲染到客户端。 |
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="border:dotted;" runat="server" id="Text1"/> | |
<a> -> HtmlAnchor;<form> -> HtmlForm;head -> HtmlHead; //未单独封装的标签(比如div)对应类型为HtmlGenericControl。 //使用Attributes属性操作未封装的属性。 | |
注意:在JS脚本中取第一种和第三种服务器端控件的ID方法: document.getElementById("<%=Button1.ClientID %>"); document.getElementById("<%=TextBox1.ClientID %>"); |
封装的服务器控件 | |
由System.Web.UI.WebControls派生 必须在<form > 与</form>之间 | |
服务器控件两个重要的属性: | runat=“server” ID控件唯一的名字 |
Web服务器控件有两种类型: | l 内部控件:内部控件从功能上可分为:文本输入控件、控制权转移控件、选择控件和容器控件。 l 其他控件:用于某些特定用途的专用控件。 |
添加服务器控件 | 1、在“设计”视图中用可视化方式添加; 2、在aspx页面用HTML语句添加: <asp:控件类型名称 ID="控件标识名" runat="server" 其他属性 /> 或 <asp:控件类型名称 ID="控件标识名" runat="server" 其他属性><asp:/控件类型名称> |
添加服务器控件的事件 | //ASP.NET使用事件驱动的模型,某对象的程序代码只在特定事件发生时执行 //常用事件如:页面加载Page_Load、按钮点击Button_Click //创建方式:点击按钮 //Aspx文件中 protected void Button1_Click(object sender, EventArgs e) { } //Aspx.cs文件中 <asp:Button ID="Button1" runat="server" οnclick="Button1_Click" Text="Button" />
|
服务器控件的基本属性 | //添加到页面上的服务器控件都显示为默认的样式 //要改变页面上控件的外观,一种方法是更改该控件的属性,另一种方法是使用层叠样式表改变控件的样式。 |
常见HTML控件: | |
布局: | div,table,ul,li |
表单: | form,label,textbox,input, |
文件上传: | fileupload |
命令: | Button,LinkButton |
asp.net常用标准控件: | ||
.Label: | 被编译成span | |
常用属性: | ||
.TextBox: | Mode属性变换样式 | |
常用属性: ReadOnly--是否能改变文本框字体 Rows--多行文本框中的行数 Warp--指示文本框中的内容是否换行 | ||
HyperLink: | 超链接文本,被编译成<a href> | |
常用属性: ImageUrl--显示此链接图像的URL NavigateUrl--指向的URL Target URL--URL的目标框架,_blank表示新窗口 Text:链接显示的文本 | ||
Button | 按钮,被编译成<input type="button"/>或其他类型 | |
LinkButton: | 带超链接的按钮,实现具有超链接样式的按钮, | |
重要属性: Clink--单击时发生的服务器事件 OnClientClick--单击时的客户端事件 postbackUrl--单击时从当前页发送到网页的URL,默认空即本页 Text--按钮上的文本 | ||
ImageButton: | 图片按钮,被编译成<input type="image" src="" /> | |
重要属性: AlternateText--图像不可用时空间中显示的替代文本 ImageUrl--获取图像位置 | ||
RadioButton: | 点选按钮,被编译成<input type="radio" /> | |
重要属性: Checked--布尔值,规定是否选定单选按钮 AutoPostBack--布尔值,在Checked属性被改变后是否立即传回表单,默认false GroupName--该单选按钮所属控件组的名称(一组即互斥) | ||
CheckBox: | 复选框控件,被编译成<input type="checkbox" /> 没有GroupName,只能用来被复选的。 | |
重要属性: Text--出现在控件旁边的文本 Checked--布尔值,规定是否选定单选按钮 AutoPostBack--布尔值,在Checked属性被改变后是否立即传回表单,默认false GroupName--该单选按钮所属控件组的名称(一组即互斥) | ||
RadioButtonList: | 以列表方式呈现的选项 | |
CheckBoxList: | 复选框列表 | |
重要属性: DataSourse--填充该列表列表项的数据源 Items--获得列表中控件的项目集合 RepeatColumns--控件中显示的列数 RepeatDirection--指示该控件是垂直显示还是水平显示 | ||
ListBox: | 列表框,在一个滚动窗口中垂直显示一系列项目列表,与DropDownList的区别是用户无需操作就可以看到所有选项。 | |
CheckedListBox | 从列表中选择,示一个可滚动的项列表,每项旁边都有一个复选框。 | |
| ||
DropDownList: | 下拉框 | |
重要属性: DataMember--要绑定的表的名称 DataSourse--填充该列表列表项的数据源 DataSourseID--提供数据源组件的ID DataTextField--提供列表的文本的数据源字段名称 DataValueField--提供一个列表项的数据源字段的名称 Items--列表控件中的项目集合 SelectedIndex--获得或设置列表中被选项的索引 SelectedItem--获得列表中的被选项 SelectedValue--获得列表中被选项的值 SelectedIndexChanged--当列表控件选择项发生变化时触发 | ||
.Imagle: | 图像 | |
重要属性: AlternateText--为图像提供替代文本 DescriptionUrl--提供指向包含该图像详细描述的页面的连接 ImageUrl--指定图片URL | ||
Table: | 表格 | |
| ||
form | 表单,12个常见表单元素 | |
文本类: | ||
参考:
https://www.cnblogs.com/huangf714/p/5876228.html