zoukankan      html  css  js  c++  java
  • ASP.NET基础01_验证与缓存

    Asp.net

     

    关于验证

    在使用验证控件时RequiredFieldValidator(字段验证)  CompareValidator(比较验证)  RangeValidator (范围验证)RegularExpressionValidator(正则表达式验证)  ValidationSummary(验证所有验证控件)

    RequiredFieldValidator 可以用来验证用户名和用户密码,必填

    CompareValidator 可以用来比较验证,比较新密码和旧密码

    RangeValidator  验证数字之流,年龄的大小等等

    RegularExpressionValidator  用正则表达式来验证,邮箱,电话,身份证之流

    ValidationSummary 一般在提交的时候验证,验证所有的验证控件是不是通过验证

     
    
    /*Page.IsValid  是在服务器端验证数据是否非法 例如你用了验证控件验证某个Textbox的值的范围为数字之类的则判断数据的正确性*/
    
            if (Page.IsValid)  //获取一个值,该值指示页验证是否成功。
    
            {
    
    //操作
    
            }

     

    关于缓存OutputCache

    当用户访问页面时,整个页面将会被服务器保存在内存中,这样就对页面进行了缓存。当用户再次访问该页,页面不会再次执行数据操作,页面首先会检查服务器中是否存在缓存,如果缓存存在,则直接从缓存中获取页面信息,如果页面不存在,则创建缓存。

    页面输出缓存适用于那些数据量较多,而不会进行过多的事件操作的页面,如果一个页面需要执行大量的事件更新,以及数据更新,则并不能使用页面输出缓存。使用@OutputCatch指令能够声明页面输出缓存,示例代码如下所示。

    <%@ OutputCache Duration="120" VaryByParam="none" %>

    上述代码使用@OutputCatch指令声明了页面缓存,该页面将被缓存120秒。@OutputCatch指令包括10个属性,通过这些属性能够分别为页面的不同情况进行缓存设置,常用的属性如下所示:

    CacheProfile:获取或设置OutputCacheProfile名称。

    Duration:获取或设置缓存项需要保留在缓存中的时间。

    VaryByHeader:获取或设置用于改变缓存项的一组都好分隔的HTTP标头名称。

    Location:获取或设置一个值,该值确定缓存项的位置,包括Any、Clint、Downstream、None、Server和ServerAndClient。默认值为Any。

    VaryByControl:获取或设置一簇分好分隔的控件标识符,这些标识符包含在当前页或用户控件内,用于改变当前的缓存项。

    NoStore:获取或设置一个值,该值确定是否设置了“Http Cache-Control:no-store”指令。

    VaryByCustom:获取输出缓存用来改变缓存项的自定义字符串列表。

    Enabled:获取或设置一个值,该值指示是否对当前内容启用了输出缓存。

    VaryByParam:获取查询字符串或窗体POST参数的列表。

    通过设置相应的属性,可以为页面设置相应的缓存,当需要为Default.aspx设置缓存项时,可以使用VaryByParam属性进行设置,示例代码如下所示。

    <%@ OutputCache Duration="120" VaryByParam="none" %>

    上述代码使用了Duration属性和VarByParam属性设置了当前页的缓存属性。为一个页面进行整体的缓存设置往往是没有必要的,常常还会造成困扰,例如Default.aspx?id=1和Default.aspx?id=100在缓存时可能呈现的页面是相同的,这往往不是开发人员所希望的。通过配置VarByParam属性能够指定缓存参数,示例代码如下所示。

    <%@ OutputCache Duration="120" VaryByParam="id" %>

    上述代码则通过参数id进行缓存,当id项不同时,ASP.NET所进行的页面缓存也不尽相同。这样保证了Default.aspx?id=1和Default.aspx?id=100在缓存时所显示的页面并不一致。VarByHeader和VarByCustom主要用于根据访问页面的客户端对页面的外观或内容进行自定义。在ASP.NET中,一个页面可能需要为PC用户和MOBILE用户呈现输出,因此可以通过客户端的版本不同来缓存不同的数据,示例代码如下所示。

    <%@ OutputCache Duration="120" VaryByParam="none" VaryByCustom="browser" %>

    语法:

    <%@ OutputCache Duration="#ofseconds"
       Location="Any | Client | Downstream | Server | None | ServerAndClient "
       Shared="True | False"
       VaryByControl="controlname"
       VaryByCustom="browser | customstring"
       VaryByHeader="headers"
       VaryByParam="parametername" 
       VaryByContentEncoding="encodings"
       CacheProfile="cache profile name | ''"
       NoStore="true | false"
       ProviderName="Provider Name"  
    %>
  • 相关阅读:
    ES vm报错
    ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java
    docker压缩导入导出
    微软各种资源整理(迅雷下载),感谢站长。
    python打开文件的访问方式
    docker换源
    selinux
    ElasticsearchException: java.io.IOException: failed to read [id:0, file:/data/elasticsearch/nodes/0/_state/global-0.st]
    带了纸和笔,要记哪些东西?
    redis命令行批量删除匹配到的key
  • 原文地址:https://www.cnblogs.com/RainbowInTheSky/p/3063729.html
Copyright © 2011-2022 走看看