label --属性
tooltip
Cssclass
label 控件呈现 <span> 使用AsssociatedControlID 后会以<label>呈现。
literal-----不包含在任何<span>标签内。
备注:可以使用该控件输出动态html。
TextBox
Accesskey-----------Alt+属性值(A、B。。。。)
*设置控件焦点
.Focus方法
Page.Focus();
HtmlForm控件的DefaultFocus()
**<!----><o:p></o:p>
PostBackUrl <o:p></o:p>
Page.PrePage 来获取前一页面。<o:p></o:p>
***<o:p></o:p>
Form:defaultButton.<o:p></o:p>
***<o:p></o:p>
验证控件不是可靠的,所以在验证时候,不只要在页面进行脚本验证,还要在服务器端进行验证。<o:p></o:p>
添加Page.IsValid的验证。<o:p></o:p>
***<o:p></o:p>
验证控件的Text属性可以是HTML代码<o:p></o:p>
<asp:RequiredFieldValidator Text="<img src='' alt='name'/>"/><o:p></o:p>
SetFocusOnError属性,在发生错误的时候,表单焦点自动转移<o:p></o:p>
<o:p></o:p>
Void Page_PreRender()<o:p></o:p>
{<o:p></o:p>
Foreach(BaseValidator val in Page.Validators)<o:p></o:p>
{<o:p></o:p>
WebContorl = //获取每个验证控件的关联控件。<o:p></o:p>
If (!Val.IsValid)<o:p></o:p>
{<o:p></o:p>
//设置控件颜色。<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
***<o:p></o:p>
禁用验证控件<o:p></o:p>
Causevalidation false<o:p></o:p>
***<o:p></o:p>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" <o:p></o:p>
ControlToValidate="DropDownList1" ErrorMessage="RequiredFieldValidator" InitialValue="none"></asp:RequiredFieldValidator><o:p></o:p>
可以对dropdownlist进行验证。<o:p></o:p>
***<o:p></o:p>
function valComments_ClientValidate(source,args)<o:p></o:p>
{<o:p></o:p>
if(args.Value.length > 10)<o:p></o:p>
args.IsValid = false;<o:p></o:p>
else<o:p></o:p>
args.IsValid = true;<o:p></o:p>
}<o:p></o:p>
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)<o:p></o:p>
{<o:p></o:p>
if (args.Value.Length > 10)<o:p></o:p>
args.IsValid = false;<o:p></o:p>
else<o:p></o:p>
args.IsValid = true;<o:p></o:p>
}<o:p></o:p>
***<o:p></o:p>
ValidateEmptyText ="true"<o:p></o:p>
可以对空字符串进行验证。<o:p></o:p>
CustomValidator ControlToValidate属性不是必须的。<o:p></o:p>
当提交表单的时候,可以使用CustomValidator1_ServerValidate进行验证。<o:p></o:p>
*** 自定义验证控件<o:p></o:p>
public class LenghtValidator : BaseValidator<o:p></o:p>
{<o:p></o:p>
private int _maxMumLenght = 0;<o:p></o:p>
<o:p></o:p>
public int MaxMumLenght<o:p></o:p>
{<o:p></o:p>
get { return _maxMumLenght; }<o:p></o:p>
set { _maxMumLenght = value; }<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
protected override bool EvaluateIsValid()<o:p></o:p>
{<o:p></o:p>
String value = this.GetControlValidationValue(this.ControlToValidate);<o:p></o:p>
if (value.Length > _maxMumLenght)<o:p></o:p>
return false;<o:p></o:p>
else<o:p></o:p>
return true;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
*** 回调<o:p></o:p>
<o:p>
Code
<!---->/// <summary>
/// Enables you to perform custom validation on both the client and server
/// </summary>
public class AjaxValidator : BaseValidator, ICallbackEventHandler
{
public event ServerValidateEventHandler ServerValidate;
string _controlToValidateValue;
protected override void OnPreRender(EventArgs e)
{
String eventRef = Page.ClientScript.GetCallbackEventReference(this, "", "", "");
// Register include file
String includeScript = Page.ResolveClientUrl("~/ClientScripts/AjaxValidator.js");
Page.ClientScript.RegisterClientScriptInclude("AjaxValidator", includeScript);
// Register startup script
String startupScript = String.Format("document.getElementById('{0}').evaluationfunction = 'AjaxValidatorEvaluateIsValid';", this.ClientID);
Page.ClientScript.RegisterStartupScript(this.GetType(), "AjaxValidator", startupScript, true);
base.OnPreRender(e);
}
/// <summary>
/// Only do the AJAX on browsers that support it
/// </summary>
protected override bool DetermineRenderUplevel()
{
return Context.Request.Browser.SupportsCallback;
}
/// <summary>
/// Server method called by client AJAX call
/// </summary>
public string GetCallbackResult()
{
return ExecuteValidationFunction(_controlToValidateValue).ToString();
}
/// <summary>
/// Return callback result to client
/// </summary>
public void RaiseCallbackEvent(string eventArgument)
{
_controlToValidateValue = eventArgument;
}
/// <summary>
/// Server-side method for validation
/// </summary>
protected override bool EvaluateIsValid()
{
string controlToValidateValue = this.GetControlValidationValue(this.ControlToValidate);
return ExecuteValidationFunction(controlToValidateValue);
}
/// <summary>
/// Performs the validation for both server and client
/// </summary>
private bool ExecuteValidationFunction(String controlToValidateValue)
{
ServerValidateEventArgs args = new ServerValidateEventArgs(controlToValidateValue, this.IsValid);
if (ServerValidate != null)
ServerValidate(this, args);
return args.IsValid;
}
}
</o:p>
分享到:
相关推荐
Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics
是一个不可多得的实例网站代码 利用的三层架构开发的B/S结构的 购物网站实例,值得参考
ASP.NET2.0揭秘随书源码
Asp.Net2.0读取-修改-新增(配置文件web.config)可以是 ***.config里面有3个文件操作类,System.config,使用文档
asp.net 2.0 揭秘(圣经级巨著)源代码(卷二)
ASP.NET 2.0揭秘_源码_C#20-34章,学习ASP.NET入门必备
原装的英文版Asp.net2.0 入门经典C#篇.避免了翻译后的质量下降
ASP.NET第一步:基于C#和ASP.NET 2.0---配套源码大全 附带了很多整理好的知识点, 很实用
CrystalReports2.0--Asp.net2.0水晶报表(CrystalReports)实例源码大全(C#).rar
Apress pro asp.net 2.0 e-commerce
Asp.net2.0揭秘(卷一)第十部分(需要全部下载才能解压)
这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,...
接下来介绍了.NET中Web页面设计的基础知识和ASP.NET2.0服务器端控件的使用方法;作为ASP.NET数据库开发的准备内容,本书也介绍了些SQL语言的基础知识。此外,还介绍了ASP.NET中的常用对象、数据访问技术、数据源控件...
《ASP.NET 2.0 入门经典》将逐步引导您使用 ASP.NET 2.0 创建动态的、数据驱动的、复杂的Web站点。在本章结束时,我们将解释一些基本的想法并介绍一个完整的示例站点。然后将学习怎样使用 Visual Web Developer ...
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
Asp.net 2.0揭秘 source code part 1 共有5 parts
8 1.3.2新的编译系统 12 1.3.3页面框架的新增内容 13 1.3.4访问数据的新对象 15 1.3.5新的服务器控件 15 1.4建立ASP.NET2.0页面的新IDE 16 1.5小结 17 第2章VisualStudio2005 19 2.1启动...
熟悉ASP.NET 1.x的程序员亟需快速掌握ASP.NET 2.0新增的功能和控件,以便立刻使用ASP.NET 2.0来编写程序。 本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0...
ASP.NET 2.0动态网站开发基础教程(C#) 第05章 ASP.NET2.0服务器控件 内部 新增 增强 验证(共28页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第06章 ASP.NET数据库编程 ADO ODBC DataSet OLE XML(共27页)....
ASP.NET 2.0快速入门(3):ASP.NET 2.0的新控件