zoukankan      html  css  js  c++  java
  • mvc的改版

    今天在做登录注册的时候 使用MVC的验证属性

    发现Compare这个属性 引用出问题

    编译时是 引用不明确

    原因是在mvc3上是可以同时引用

    using System.ComponentModel.DataAnnotations;
    using System.Web.Mvc;
    

      但是到了4好像就改了 具体怎么改的不清楚 查看了一下

    命名空间修改了

    mvc3中是

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    
    namespace System.Web.Mvc
    {
        // 摘要:
        //     提供一个比较模型的两个属性的特性。
        [AttributeUsage(AttributeTargets.Property)]
        public class CompareAttribute : ValidationAttribute, IClientValidatable
        {
            // 摘要:
            //     初始化 System.Web.Mvc.CompareAttribute 类的新实例。
            //
            // 参数:
            //   otherProperty:
            //     要与当前属性进行比较的属性。
            public CompareAttribute(string otherProperty);
    
            // 摘要:
            //     获取要与当前属性进行比较的属性。
            //
            // 返回结果:
            //     要与当前属性进行比较的属性。
            public string OtherProperty { get; }
    
            // 摘要:
            //     基于出现比较错误的数据字段对错误消息应用格式设置。
            //
            // 参数:
            //   name:
            //     导致验证失败的字段的名称。
            //
            // 返回结果:
            //     带有格式的错误消息。
            public override string FormatErrorMessage(string name);
            //
            // 摘要:
            //     通过在客户端验证属性的前面加一个星号 (*) 和一个圆点来设置其格式。
            //
            // 参数:
            //   property:
            //     属性。
            //
            // 返回结果:
            //     将字符串“*.”加到该属性的前面。
            public static string FormatPropertyForClientValidation(string property);
            //
            // 摘要:
            //     使用指定模型元数据和控制器上下文获取属性的比较值客户端验证规则的列表。
            //
            // 参数:
            //   metadata:
            //     模型元数据。
            //
            //   context:
            //     控制器上下文。
            //
            // 返回结果:
            //     比较值客户端验证规则的列表。
            public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context);
            protected override ValidationResult IsValid(object value, ValidationContext validationContext);
        }
    }

    mvc4中是 

    using System;
    
    namespace System.ComponentModel.DataAnnotations
    {
        // 摘要:
        //     提供比较两个属性的属性。
        [AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
        public class CompareAttribute : ValidationAttribute
        {
            // 摘要:
            //     初始化 System.ComponentModel.DataAnnotations.CompareAttribute 类的新实例。
            //
            // 参数:
            //   otherProperty:
            //     要与当前属性进行比较的属性。
            public CompareAttribute(string otherProperty);
    
            // 摘要:
            //     获取要与当前属性进行比较的属性。
            //
            // 返回结果:
            //     另一属性。
            public string OtherProperty { get; }
            //
            // 摘要:
            //     获取其他属性的显示名称。
            //
            // 返回结果:
            //     其他属性的显示名称。
            public string OtherPropertyDisplayName { get; internal set; }
            //
            // 摘要:
            //     获取指示特性是否要求验证上下文的值。
            //
            // 返回结果:
            //     如果特性需要验证上下文,则为 true;否则为 false。
            public override bool RequiresValidationContext { get; }
    
            // 摘要:
            //     基于发生错误的数据字段对错误消息应用格式设置。
            //
            // 参数:
            //   name:
            //     导致验证失败的字段的名称。
            //
            // 返回结果:
            //     带有格式的错误消息。
            public override string FormatErrorMessage(string name);
            //
            // 摘要:
            //     确定指定的对象是否有效。
            //
            // 参数:
            //   value:
            //     要验证的对象。
            //
            //   validationContext:
            //     一个对象,该对象包含有关验证请求的信息。
            //
            // 返回结果:
            //     如果 value 有效,则为 true;否则为 false。
            protected override ValidationResult IsValid(object value, ValidationContext validationContext);
        }
    }
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    
    namespace System.Web.Mvc
    {
        // 摘要:
        //     提供用于比较某个模型的两个属性的特性。
        [AttributeUsage(AttributeTargets.Property)]
        public class CompareAttribute : ValidationAttribute, IClientValidatable
        {
            // 摘要:
            //     初始化 System.Web.Mvc.CompareAttribute 类的新实例。
            //
            // 参数:
            //   otherProperty:
            //     要与当前属性进行比较的属性。
            public CompareAttribute(string otherProperty);
    
            // 摘要:
            //     获取要与当前属性进行比较的属性。
            //
            // 返回结果:
            //     要与当前属性进行比较的属性。
            public string OtherProperty { get; }
            //
            // 摘要:
            //     获取其他属性显示名称。
            //
            // 返回结果:
            //     其他属性显示名称。
            public string OtherPropertyDisplayName { get; internal set; }
    
            // 摘要:
            //     基于出现比较错误的数据字段对错误消息应用格式设置。
            //
            // 参数:
            //   name:
            //     导致验证失败的字段的名称。
            //
            // 返回结果:
            //     带有格式的错误消息。
            public override string FormatErrorMessage(string name);
            //
            // 摘要:
            //     通过在客户端验证属性的前面追加一个星号 (*) 和一个点来设置其格式。
            //
            // 参数:
            //   property:
            //     属性。
            //
            // 返回结果:
            //     字符串“*.”将追加到该属性前面。
            public static string FormatPropertyForClientValidation(string property);
            //
            // 摘要:
            //     使用指定模型元数据和控制器上下文获取属性的比较值客户端验证规则的列表。
            //
            // 参数:
            //   metadata:
            //     模型元数据。
            //
            //   context:
            //     控制器上下文。
            //
            // 返回结果:
            //     比较值客户端验证规则的列表。
            public IEnumerable<System.Web.Mvc.ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context);
            //
            // 摘要:
            //     确定指定对象是否等于比较对象。
            //
            // 参数:
            //   value:
            //     要比较的对象的值。
            //
            //   validationContext:
            //     验证上下文。
            //
            // 返回结果:
            //     如果所比较属性的值等于值参数,则为 null;否则为一个验证结果,它包含指示比较失败的错误消息。
            protected override ValidationResult IsValid(object value, ValidationContext validationContext);
        }
    }

    都有同样的属性 

    因为在验证部分 其他的还是需要

    using System.ComponentModel.DataAnnotations;

    所以 就把System.Web.Mvc去掉

  • 相关阅读:
    js Validate
    JS
    JS 回车提交,兼容IE、火狐、Opera、Chrome、Safari……
    自动搜索 下拉单
    有符号数和无符号数间的比较.
    结构体指针在函数调用中的实例
    如何计算时间复杂度
    指针和引用的比较
    指针参数是如何传递内存的
    fread函数和fwrite函数,read,write
  • 原文地址:https://www.cnblogs.com/acgk/p/3479553.html
Copyright © 2011-2022 走看看