繁体   English   中英

我如何从2个下拉列表中获取值并将其作为C#中的日期进行比较

[英]How can i get values from 2 dropdown lists and compare them as a date in C#

我有2个下拉列表,分别显示月份和年份。 我可以验证它,并检查它是否小于JS中的某个日期,但是现在我想在服务器端进行操作,但是我无法弄清楚如何传递所选值并将它们转换为日期函数。

UPDATE:

这是我的HTML / ASP.Net

 <asp:CustomValidator ID="CustomValidatorED" runat="server" 
 ErrorMessage=" *Enter a valid Expiry Date" Display="Dynamic" CssClass="error"
 ClientValidationFunction="ValidateED" 
 OnServerValidate="CustomValidatorED_ServerValidate"></asp:CustomValidator>

这是我的背后的代码,它是不完整的C#:-

protected void CustomValidatorED_ServerValidate(object source, ServerValidateEventArgs args)
{
    var x = EDY.SelectedValue;
      var y = EDM.SelectedValue;

      var z = x + y;
     var pppp = Convert.ToInt32(z);
     DateTime entereddate = new DateTime(pppp);

      DateTime d = DateTime.Now;
      var r = d.Month;
      var p = d.Year;

      var kkkk = r + p;

      DateTime todaysdate = new DateTime(kkkk);

      int result = DateTime.Compare(entereddate, todaysdate);

      if (result < 0)
      { args.IsValid = true; }
      else
      { args.IsValid = false; }

}

`EDY = Years Drop Down`
`EDM = Months Drop Down`

我知道我犯了一些明显的错误,但是即使日期正确,此函数也会被调用,因此,如果输入的日期小于今天的日期,则应该显示错误,而其他时间不会。

主要是想修正我的代码以使其正常工作,因为我比较输入的MM / YYYY和今天的MM / YYYY

DateTime dtime1 = new DateTime(Convert.ToInt32(ddl1.SelectedValue));
DateTime dtime2 = new DateTime(Convert.ToInt32(ddl2.SelectedValue));

if(dtime1.equals(dtime2))
   doSomething();
//Conversion to comparing Date

DateTime date1 = dtime1.Date;
DateTime date2 = dtime2.Date;

上面的代码确实可以满足您的要求。 允许您比较下拉列表中的两个值并将它们比较为DateTimes。

这样的事情。 如果您发现日期比较在时间等方面不起作用,则可能需要担心如何转换日期(即使用格式特殊化)。

protected void CustomValidatorED_ServerValidate(object source, ServerValidateEventArgs args)
    {
        DateTime currentDate = DateTime.Now;

        DateTime chosenDate = Convert.ToDateTime(args.Value);

        if (currentDate <= chosenDate)
        { args.IsValid = true; }
        else
        { args.IsValid = false;}

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM