ASP.NET控件集合
控件分类
HTML控件:纯正的HTML标签
HTML服务器控件:在HTML标签中添加一个runat="server"的属性
ASP.NET服务器控件:ASP.NET中提供的类似于Winform的控件
用户控件和自定义控件
HTML控件和ASP.NET服务器控件
HTML控件
- 运行在客户端
- 没有回传,不能用ViewState维持状态
- 浏览器完成事件处理需要使用(JavaScript)
- 如果需要访问后台C#,现在典型就是使用JQuery
ASP.NET服务器控件
- 运行在服务器端
- 能回传,能用ViewState维持状态
- 服务器完成事件处理(C#后台处理)
- 事件驱动模型编程(控件+事件)
常用服务器控件
Label控件
Label控件在页面上显示一个静态文本
属性:
- Text:标签上显示的文本
- ForeColor:文字颜色
- Visible:是否可见
缺点:会生成一个Span标签
Literal控件
属性:
- Text:标签上显示的文本
- ForeColor:文字颜色
- Visible:是否可见
特点:不会生成任何多余代码,因此在实际应用中如果时单纯显示文本,建议使用Literal而不是Label
TextBox控件
在页面上显示一个可编辑的文本框
属性:
- AutoPostBack:(True/False)是否自动提交(和TextChanged事件一起使用,很少使用)
- TextMode:
- SingleLine:只能单行输入
- MultLine:允许多行输入
- PassWord:密码输入方式
HiddenFiled控件
隐藏域控件:不占网页的位置,不显示内容,通过Value保存值
Button控件
Button控件在页面上显示一个按钮
属性:
- PostBackUrl:发送到的页面跨页提交时设置
- CommandName:按钮相关的命令名
- CausesValidation:是否激活验证
类型:
- Button:普通按钮
- LinkButton:超链接按钮
- ImageButton:图像按钮
共性:都是Submit类型
按钮的单击添加客户端脚本
<asp:Button ID="Button2" runat="server" Text="删除" OnClientClick="return confirm('确定删除吗?')" />
RadioButton控件
单选按钮
<asp:RadioButton ID="RadioButton1" GroupName="sex" runat="server" Text="男"/>
<asp:RadioButton ID="RadioButton2" GroupName="sex" runat="server" Text="女"/>
HyperLink控件
超链接控件
数据验证控件
在使用表单时要做表单验证,很多表单验证都是需要在前台完成,服务器也可以进行验证但是不推荐
数据验证方式
- 编写后台C#代码验证:页面回传,用户体验不好,服务器压力大
- 编写Javascript脚本进行验证:特效可以自定义,但是编写较为麻烦
- ASP.NET提供的验证控件:验证方便,简单;安全性较高
- JQuery验证插件:使用简单、方便,用户体验好。
非空验证控件
RequiredFieldValidator控件用于验证用户输入是否为空;常与其他控件一起使用
属性
- ControlToValidate:验证的控件ID
- ForeColor:错误提示文字的颜色
- ErrorMessage:错误的提示文本
比较验证控件
CompareValidator控件用于比较控件的值,例如两次密码需要输入一致
属性
- ControlToValidate:验证的控件ID
- ControlToCompare:要进行对比的控件
- Type:比较类型设置,不同类型的比较可能会出错
- Operator:比较运算符默认等于
范围验证控件
RangeValidator控件用于验证日期、数字等在一定范围内
属性:
- MaxmumValue:范围的上限
- MinmumValue:范围的下限
- Type:验证的类型(字符串、整数、浮点型、日期、货币)
正则表达式验证控件
RegularExpressionValidator控件应用正则表达式作为验证规则
属性:
- ValidationExpression:设置要匹配的正则表达式
自定义验证控件
CustomValidator控件可以创建自定义的验证
- 可以手写js脚本进行客户端验证,也可以编写服务器端的验证代码
- 或者联合两种方式验证,更安全
属性:
- ClientValidationFunction:用于客户端验证的函数
- ServerValidate:服务器端验证的事件方法
验证信息汇总控件
ValidationSummary控件
- 该控件并不对窗体输入进行验证,而是将验证错误汇总统一显示
- 显示的内容是其他控件的ErrorMessage
属性:
- ShowMessageBox:指示是否弹出提示信息
- ShowSummary:指示是否显示该报告内容,用于显示提示消息的时候
- 为避免多处提示验证错误信息,可以验证控件的Text属性为*
页面统一布局
什么是页面统一布局,一个网站中包含的所有页面,基本的布局格式没有很大的改变,只是其主要模块的某个区域发生变化,遇到类似于这类网站,开发过程中没有必要将每个页面的所有模块全部开发。
在开发每个网站之前,首先要考虑页面的基本布局
栏式结构
简单实用、条理分明、格局清晰严谨、适合信息量大的页面
页面布局技术
Table(目前基本上不会实用)
DIV+CSS(目前的主流布局)
在ASP.NET Webform框架中主要采用MasterPage
母版页MasterPage
- 页面的合成:母版页+内容页=统一布局的新页面
- 母版页的特点:
- 有利于站点修改和维护,降低开发人员成本
- 有利于实现页面的统一布局
- 母版页的使用:
- 创建母版页
- 设计样式
- 添加内容页
ContentPlaceHolder:这个标签对应的是母版中需要被嵌套的区域
Content:包含母版页的Web窗体中的这个标签,指的是往母版页对应的区域中嵌套的标签
页面导航控件
SiteMapPath控件是一个可以指示页面在站点逻辑位置的导航控件
- 该类型的导航可以帮助用户理解站点的结构
- 通过该导航,可以迅速找到相关的位置