- 浏览: 99464 次
- 性别:
- 来自: 合肥
最新评论
-
helloqidi:
谢谢,学习了。
娃娃鸭学Ruby-34、可枚举的对象
文章列表
使用CustomValidator控件
CustomValidator三处重要属性:
ControlToValidator
Text
ClientValidationFunction 客户端验证的客户端函数名
支持事件
ServerValidate -CustomValidator执行验证时引发
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x ...
使用RegularExpressionValidator控件
正则表达式进行比较
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html x ...
使用CompareValidator控件
三种不同类型的验证任务
1、执行数据类型检测 验证输入是否类型正确的值
2、输入值和一固定值进行比较
3、一表单值与另一表单值进行比较
六属性:
ControlToValidate
Text
Type String Integer Double Date Currency
Operator 所执行的比较类型 可能的值:DataTypeCheck Equal GreaterThan GreaterThanEqual LessThan LessThanEqual和NotEqual
ValueToCompare 所比较的固定值
Co ...
使用RangeValidator控件
检测表单字段的值是否在指定的最小值和最大值之间
五个属性:
ControlToValidate---被验证的表单字段的ID
Text --验证失败时显示的错误信息
MininumValue
MaxinumValue
Type-比较类型:String,Integer,Double,Date和Currency 默认为String
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
Asp.net MVC各层使用TDD方式
Asp.net MVC的TDD
-测试Routes
-测试Controller
-测试View helpers
-测试Views
Testing Routes
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);
routes.MapRoute(
“Default”,
“{controller}/{action}/{id}”,
new { controller = “Home”, act ...
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnSubmit_Click(object sender, EventArgs e)
{
...
MVC中的测试驱动开发
为什么需要TDD
TDD的由来
它是一种实现代码的方法论而不是一种测试方法
-代码的质量更可靠
TDD的工作方式
-首先编写单元测试
-编写代码用于通过测试
-重构代码
-迭代
编写测试代码
[Test]
public void
StringWithThreeAsReturnsThreeWhenCountingOccurencesOfA() {
//arrange
CharCounter counter = new CharCounter();
//act
int occurrences =
counter.CountOccurrences(“this ...
常见网络安全攻击隐患
针对Asp.net MVC防御体系
安全性策略
where name='' and password=''
逻辑转接
where name='' and password='1' or '1=1'
脚本注入攻击
Asp.net webform
保护了一些情况
原则:
1、任何接收用户输入都要Encode,去掉Html标记
2、永远对任何人不加检查的使用HTML输入,白名单,
3、对Cookies进行验证
4、尽可能使用各种防范使用iss类库
永远不要相信用户的输入是安全的
攻击者是谁,想干嘛?
白帽黑客 -系统补丁 操作系统非常了解
黑帽黑 ...
禁用验证
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void btnCancel_Click(object sender, EventArgs e)
...
Page.IsValid
设置Display属性
Static
Dynamic
None
<span id="reqProductName" style="color:Red;Visibility:hidden;">(Required) </span>
<span id="reqProductName" style="color:Red;display:none;">(Required) </span>
Visibility和display都能隐藏文本但是v ...
ASP.NET MVC2使用Ajax类库实例
.net for JavaScript
使用Jquery更新
<h1>Product Search -jQuery</h1>
<form action=”<%=Url.Action(“ProductSearch”) %>” method=”post” id=”jform”>
<%= Html.TextBox(“query”, null, new {size=40}) %>
<input type=”submit” id=”jsubmit” value=”go” />
< ...
验证控件
RequiredFieldValidator 要求用户在表单字段中输入必需的值
RangeValidator 检测一个值是否确定的最小值和最大值之间
CompareValidator 比较一个值和别一个值或执行数据类型检查
RegularExpressionValidator 比较一个值和正则表达式
CustomValidator 执行自定义验证
ValidationSummary 在页面中显示所有验证错误的摘要
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3 ...
CompilationMode属性
禁止动态编译
事件引发序列
1) PreInit
2) Init
3) InitComplete
4) PreLoad
5) Load
6) LoadComplete
7) PreRender
8) PreRenderComplete
9)SaveStateComplete
10)UnLoad
Page.IsPostBack
检测页面是否已经回传给服务器
页面调试:
<%@ Page language="C#" Debug="true" %>
Web.Config
<configuration& ...
.net Framework
File类 检测文件是否存在,新建文件,删除文件等操作
Graphics类 图像相关操作
Random类 生成随机数
SmtpClient类 用于发送电子邮件。
Asp.net 控件
标准控件
验证控件
Rich控件
数据控件
导航控件
登录控件
HTML控件
----------------------------------------
应该始终为每个控件 的ID赋值。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD X ...
在ASP.NET MVC中使用
-Microsoft ASP.NET Ajax
-jQuery
Ajax的使用范围
-适合Ajax的场景
-不适合Ajax的场景
Ajax软肋:
不保存Http状态,没有回退,状态保留
不支持JavaScript脚本
Ajax成瘾症
Ajax使用实例
-每个Ajax请求都会制定确定的Action
-Action会判断是否来自Ajax
-针对Ajax请求必须返回一个特殊的View
脚本启用问题
<%using (Ajax.BeginForm(“HelloAjax”,
new AjaxOptions{ UpdateTarge ...