c#中的自定义属性,用于比较mvc应用程序中的两个日期属性

c#中的自定义属性,用于比较mvc应用程序中的两个日期属性,c#,asp.net-mvc,attributes,data-annotations,custom-attributes,C#,Asp.net Mvc,Attributes,Data Annotations,Custom Attributes,我想用复选框比较mvc应用程序中的两个日期属性,我的返回日期不应小于出发日期 我犯了一个错误 “\u RetDate不是有效的命名属性参数,因为它不是有效的属性参数类型” 这是我的密码 public bool OneWay { get; set; } public bool Return { get; set; } [Required] [Display(Name = "Departure Date")] [ReturnDatenotGreater(_Re

我想用复选框比较mvc应用程序中的两个日期属性,我的返回日期不应小于出发日期 我犯了一个错误 “\u RetDate不是有效的命名属性参数,因为它不是有效的属性参数类型”

这是我的密码

    public bool OneWay { get; set; }
    public bool Return { get; set; }
    [Required]
    [Display(Name = "Departure Date")]
    [ReturnDatenotGreater(_RetDate = "ReturnDate",ErrorMessage="ReturnDate can't be less that departure date")]         
    public DateTime DepartureDate { get; set; }
    [Display(Name = "Return Date")]
    public DateTime ReturnDate { get; set; }
这是我的自定义属性类

  public class ReturnDatenotGreaterAttribute : ValidationAttribute
  {
    public ReturnDatenotGreaterAttribute(DateTime Returdate)
    {
        _RetDate = Returdate;
    }
    public DateTime _RetDate { get; set; }

    public override bool IsValid(object value)
    {
        var departuredate= (DateTime)value;

        if (departuredate >_RetDate)
        {
            return false;
        }

        else

        return true;
    }

}

我认为你把返程日期安排错了。这可能会有所帮助:。

嗨,梅尔克,我看到了你的链接,我找不到匹配的逻辑,请你检查代码并更正它,我的代码哪里有错?我不是这方面的专家。但是,通过快速的谷歌搜索,我发现您可能必须使用a)基本构造函数和b)属性名作为字符串。您的代码似乎在解析/转换字符串
“ReturnDate”
DateTime
时遇到问题。