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>
分享到:
相关推荐
本资源包含了ASP.NET 2.0揭秘一书的部分源码,涵盖了C#语言编程的第20至34章,对于初学者和进阶开发者来说,都是极好的学习资料。 在这些章节中,你可以深入理解以下关键知识点: 1. **控件事件模型**:ASP.NET ...
《Asp.net 2.0 揭秘源码(完全版)part02》是针对Asp.net 2.0技术的深入解析资源,包含了来自《Asp.net 2.0 Unleashed》这本书的实例程序源代码和相关数据库文件。这本书由知名专家撰写,旨在帮助读者全面理解并掌握...
这份"asp.net2.0揭秘源码-全部源码"的学习资料,对于初学者来说是一个宝贵的资源,它涵盖了ASP.NET 2.0的核心概念和实践应用。 1. **ASP.NET架构**:ASP.NET 2.0的核心是Page生命周期,包括初始化、加载、验证、...
1. **控件体系**:ASP.NET 2.0引入了大量内置服务器控件,如Label、TextBox、Button等,这些控件大大简化了网页开发。源码中可能包含了这些控件的使用示例,如表单处理、验证控件以及数据绑定控件。 2. **数据绑定*...
该书详细介绍了使用C#语言开发ASP.NET 2.0网站的全过程,适合已有ASP.NET 1.x开发经验的程序员阅读,即使对ASP.NET 2.0不熟悉也能轻松上手。 书中通过一个实际的示例网站"TheBeerHouse",演示了如何利用ASP.NET 2.0...
《ASP.NET 2.0 揭秘:原代码解析》是一部深入探讨ASP.NET 2.0框架技术的著作,旨在帮助开发者深入理解该版本的核心机制和实现原理。书中的原代码部分提供了丰富的实例,便于读者实践和学习。下面将详细阐述ASP.NET ...
这本书"ASP.NET 2.0揭秘_源码_C#11-19章"涵盖了ASP.NET 2.0的关键概念和技术,特别强调了C#编程语言的应用。以下是对各章节主要内容的概述: 第11章:ASP.NET 2.0的页面生命周期与状态管理 本章详细介绍了ASP.NET ...
《ASP.NET 2.0 揭秘:源代码分析(第16章至第19章)》 ASP.NET 2.0 是微软.NET Framework的一部分,它为开发Web应用程序提供了强大的平台。本压缩包包含的源代码分析涵盖了从第16章到第19章的内容,这四个章节深入...
《Asp.net 2.0 揭秘源码(完全版)part04》是针对Asp.net 2.0框架的一份详细学习资源,它源自《Asp.net 2.0 Unleashed》这本书的实例代码和数据库文件。这个压缩包包含了该书的完整示例,分为四个部分,每个部分涵盖了...
《ASP.NET 2.0 揭秘(卷2)源代码》是一本专门为ASP.NET开发者设计的深入学习书籍。此书的第二卷聚焦于源代码分析,为读者提供了丰富的实践案例和深入的技术解析,旨在帮助读者更好地理解和掌握ASP.NET 2.0框架的...
这个压缩包包含的源代码是关于ASP.NET 2.0的揭秘,涵盖了第11到15章的内容,这五个章节通常会涉及ASP.NET 2.0的一些核心特性和高级主题。接下来,我们将深入探讨这些章节可能涵盖的知识点。 **第11章:数据绑定和...
### 揭秘ASP.NET 2.0的Eval方法 #### 一、Eval方法概述 在ASP.NET 2.0中,Eval方法是一个重要的特性,它简化了数据绑定的语法,使得开发者能够更加灵活地处理数据绑定操作。Eval方法最初定义在`TemplateControl`类...
### ASP.NET 2.0揭秘(卷一)第二部分知识点详解 #### 使用标准控件 在ASP.NET 2.0的开发中,掌握标准控件的使用是构建动态网页的关键。这一章节深入介绍了多种核心控件,它们几乎无处不在于每一个ASP.NET应用程序...
"ASP.NET 2.0 揭秘源码"很可能是一本深入探讨ASP.NET 2.0核心机制和技术细节的书籍,特别是通过源代码分析来帮助读者理解其工作原理。 在第五部分,主题聚焦于“站点导航”,这是ASP.NET 2.0中一个重要的新特性。...
ASP.NET 2.0 Unleashed <br>中文译名:ASP.NET 2.0揭秘 <br>作者: Stephen Walther <br>出版: Sams <br>Pub Date: June 06, 2006 Dimensions 7x9-1/8 Pages: 1992 Edition: 1st. ...
ASP.NET技术揭秘是一本深入探讨ASP.NET 2.0架构和技术的专业书籍,出自APress出版社。这本书详尽地阐述了ASP.NET的核心概念、开发工具以及实际应用,为开发者提供了全面的指南。 ASP.NET是Microsoft公司推出的Web...
《Asp.Net.2.0.Demystified》是一本深入浅出地解析Asp.Net 2.0技术的专业书籍,旨在帮助读者揭开Asp.Net 2.0的神秘面纱,即便是英文版,其通俗易懂的语言也使得阅读门槛大大降低。这本书详细介绍了Asp.Net 2.0的核心...
揭秘].Sams.ASP.NET.2.0.Unleashed.Jun.2006 共2个包这是第一个 第I部分 基础篇 第1章 Web编程概述 第2章 建立开发环境 第3章 C#编程基础 第4章 强大的NET类库 第5章 数据库基础 第6章 快速入门...
9. **AJAX支持**:虽然ASP.NET 2.0本身并不直接支持Ajax,但提供了UpdatePanel、Timer等控件,初步实现了无刷新更新,为后续的ASP.NET AJAX Framework奠定了基础。 10. **Web部件(Web Parts)**:Web部件允许用户...
《C# ASP.NET v2.0 揭秘》是一本专为初学者和进阶者设计的编程指南,旨在帮助读者全面理解并掌握ASP.NET v2.0技术,特别是结合C#语言的应用。这本书深入浅出地介绍了如何利用C#语言在ASP.NET平台上构建高效、动态的...