簡體   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