`
cpsing
  • 浏览: 73113 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

Asp.net 2.0 揭秘---标准控件

阅读更多

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章

    本资源包含了ASP.NET 2.0揭秘一书的部分源码,涵盖了C#语言编程的第20至34章,对于初学者和进阶开发者来说,都是极好的学习资料。 在这些章节中,你可以深入理解以下关键知识点: 1. **控件事件模型**:ASP.NET ...

    Asp.net 2.0 揭秘源码(完全版)part02

    《Asp.net 2.0 揭秘源码(完全版)part02》是针对Asp.net 2.0技术的深入解析资源,包含了来自《Asp.net 2.0 Unleashed》这本书的实例程序源代码和相关数据库文件。这本书由知名专家撰写,旨在帮助读者全面理解并掌握...

    asp.net2.0揭秘源码-全部源码

    这份"asp.net2.0揭秘源码-全部源码"的学习资料,对于初学者来说是一个宝贵的资源,它涵盖了ASP.NET 2.0的核心概念和实践应用。 1. **ASP.NET架构**:ASP.NET 2.0的核心是Page生命周期,包括初始化、加载、验证、...

    ASP.NET 2.0功能源码

    1. **控件体系**:ASP.NET 2.0引入了大量内置服务器控件,如Label、TextBox、Button等,这些控件大大简化了网页开发。源码中可能包含了这些控件的使用示例,如表单处理、验证控件以及数据绑定控件。 2. **数据绑定*...

    ASP.NET2.0网站开发全程解析[收集].pdf

    该书详细介绍了使用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 2.0框架技术的著作,旨在帮助开发者深入理解该版本的核心机制和实现原理。书中的原代码部分提供了丰富的实例,便于读者实践和学习。下面将详细阐述ASP.NET ...

    ASP.NET 2.0揭秘_源码_C#11-19章

    这本书"ASP.NET 2.0揭秘_源码_C#11-19章"涵盖了ASP.NET 2.0的关键概念和技术,特别强调了C#编程语言的应用。以下是对各章节主要内容的概述: 第11章:ASP.NET 2.0的页面生命周期与状态管理 本章详细介绍了ASP.NET ...

    asp.net2.0揭秘source code[1](chapter16~19).rar

    《ASP.NET 2.0 揭秘:源代码分析(第16章至第19章)》 ASP.NET 2.0 是微软.NET Framework的一部分,它为开发Web应用程序提供了强大的平台。本压缩包包含的源代码分析涵盖了从第16章到第19章的内容,这四个章节深入...

    Asp.net 2.0 揭秘源码(完全版)part04

    《Asp.net 2.0 揭秘源码(完全版)part04》是针对Asp.net 2.0框架的一份详细学习资源,它源自《Asp.net 2.0 Unleashed》这本书的实例代码和数据库文件。这个压缩包包含了该书的完整示例,分为四个部分,每个部分涵盖了...

    asp.net2.0揭秘(卷2)源代码

    《ASP.NET 2.0 揭秘(卷2)源代码》是一本专门为ASP.NET开发者设计的深入学习书籍。此书的第二卷聚焦于源代码分析,为读者提供了丰富的实践案例和深入的技术解析,旨在帮助读者更好地理解和掌握ASP.NET 2.0框架的...

    asp.net2.0揭秘source code[1](chapter11~15)

    这个压缩包包含的源代码是关于ASP.NET 2.0的揭秘,涵盖了第11到15章的内容,这五个章节通常会涉及ASP.NET 2.0的一些核心特性和高级主题。接下来,我们将深入探讨这些章节可能涵盖的知识点。 **第11章:数据绑定和...

    揭秘ASP.NET 2.0的Eval方法.doc

    ### 揭秘ASP.NET 2.0的Eval方法 #### 一、Eval方法概述 在ASP.NET 2.0中,Eval方法是一个重要的特性,它简化了数据绑定的语法,使得开发者能够更加灵活地处理数据绑定操作。Eval方法最初定义在`TemplateControl`类...

    asp.net 2.0揭秘(卷一)第二部分

    ### 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中一个重要的新特性。...

    ASP.NET 2.0 Unleashed

    ASP.NET 2.0 Unleashed &lt;br&gt;中文译名:ASP.NET 2.0揭秘 &lt;br&gt;作者: Stephen Walther &lt;br&gt;出版: Sams &lt;br&gt;Pub Date: June 06, 2006 Dimensions 7x9-1/8 Pages: 1992 Edition: 1st. ...

    ASP.net 技术揭秘(ASP.Dot.NET.2.0.Revealed.eBook)

    ASP.NET技术揭秘是一本深入探讨ASP.NET 2.0架构和技术的专业书籍,出自APress出版社。这本书详尽地阐述了ASP.NET的核心概念、开发工具以及实际应用,为开发者提供了全面的指南。 ASP.NET是Microsoft公司推出的Web...

    Asp.Net.2.0.Demystified

    《Asp.Net.2.0.Demystified》是一本深入浅出地解析Asp.Net 2.0技术的专业书籍,旨在帮助读者揭开Asp.Net 2.0的神秘面纱,即便是英文版,其通俗易懂的语言也使得阅读门槛大大降低。这本书详细介绍了Asp.Net 2.0的核心...

    [ASP.NET.2.0.揭秘].Sams.ASP.NET.2.0.Unleashed.Jun.2006

    揭秘].Sams.ASP.NET.2.0.Unleashed.Jun.2006 共2个包这是第一个 第I部分 基础篇  第1章 Web编程概述  第2章 建立开发环境  第3章 C#编程基础  第4章 强大的NET类库  第5章 数据库基础  第6章 快速入门...

    ASP.NET v2.0 揭密(CHM).rar

    9. **AJAX支持**:虽然ASP.NET 2.0本身并不直接支持Ajax,但提供了UpdatePanel、Timer等控件,初步实现了无刷新更新,为后续的ASP.NET AJAX Framework奠定了基础。 10. **Web部件(Web Parts)**:Web部件允许用户...

    C#ASP.NET v2.0 揭密

    《C# ASP.NET v2.0 揭秘》是一本专为初学者和进阶者设计的编程指南,旨在帮助读者全面理解并掌握ASP.NET v2.0技术,特别是结合C#语言的应用。这本书深入浅出地介绍了如何利用C#语言在ASP.NET平台上构建高效、动态的...

Global site tag (gtag.js) - Google Analytics