>source

드롭 다운 목록에 날짜를 나열하고 싶지만 변환 문제가 있습니다.GenreLst.AddRange 명령 (GenreQry.Distinct ());누군가 도울 수 있습니까? 감사 나는 사용을 시도했다Convert.ToDateTime ()하지만 작동하지 않습니다.

public ActionResult Index(string startData)
    {
        var GenreLst = new List<string>();
        var GenreQry = from d in db.Programa
                       orderby d.Data_Registo
                       select d.Data_Registo;
        
        GenreLst.AddRange(GenreQry.Distinct()); //Error string
        ViewBag.startData = new SelectList(GenreLst);
        var datas = from m in db.Programa
                     select m;
        
        if (string.IsNullOrEmpty(startData))
            return View(datas);
        else
        {
            DateTime start = Convert.ToDateTime(startData);
            return View(datas.Where(x => x.Data_Registo == start));
        }
    }

내 오류

CS1503:Argument 1: cannot convert from 'System.Linq.lQueryable<DateTime?> to System.Collections.Generic.lEnumerable<string>'

  • 답변 # 1

    유형 목록을 추가하려는 것 같습니다. DateTime? 유형 목록에 string 여기에 표시되는 오류가 발생합니다.

    이 문제를 해결하려면 다음과 같이 선언 할 수 있습니다. GenreLst 유형의 List<DateTime?> 예 :

    var GenreLst = new List<DateTime?>();
    
    

    그러면 추가 할 수 있습니다. GenreQry .

    또는 선언 할 수 있습니다. GenreLst 결과로 GenreQry.Distinct() :

    var GenreLst = GenreQry.Distinct();
    
    

  • 답변 # 2

      public static DateTime? ToNullableDateTime(object dateTime)
        {
            if (dateTime == null)
            {
                return null;
            }
            DateTime tvParsedDate;
            if (DateTime.TryParse(dateTime.ToString(), out tvParsedDate))
            {
                return tvParsedDate;
            }
            return null;
        }
    
    

관련 자료

  • 이전 node.js - 로그인 한 사용자의 세션에서 요청하는 경우에만 Firebase의 getUserProfile 클라우드 함수가 데이터를 반환하도록하려면 어떻게해야하나요?
  • 다음 c++ - 생성자가 없을 때 튜플에서 객체를 생성하는 방법