将Request.QueryString转换为Datetime,然后使用c#asp.net中linq中的datacont

本文关键字:net c#asp linq datacont 中的 然后 QueryString Request 转换 Datetime | 更新日期: 2023-09-27 17:48:48

我想使用request.querystring从另一个页面获取Timedate值,然后使用它作为查询来比较和提取匹配的数据。linq中查询的函数是:

   protected void User_Querytime()
    {
    DataClasses2DataContext dc1 = new DataClasses2DataContext();
    String  Data = Request.QueryString["TimeOfMessage"];
                var query7 = from u in dc1.syncback_logs
                             where u.TimeOfMessage = Data
                             orderby u.TimeOfMessage descending
                             select u;
                GridView1.DataSource = query7;
                GridView1.DataBind();
    }

这里的"Request.QueryString["TimeOfMessage"]"是DateTime(例如:8/25/2008 9:07:19 AM)。我想将它与数据库中的"u.TimeOfMessage"进行比较,并提取匹配的记录。

当我使用todatetime函数从字符串转换为datetime时,返回的值是bool,因此无法将其与数据库中的日期时间格式"Timeofmesage"进行比较。有人能帮我吗?

将Request.QueryString转换为Datetime,然后使用c#asp.net中linq中的datacont

你是指Convert.ToDateTime吗?这将返回DateTime(而不是bool)。你是说DateTime.TryParse吗?只需使用以下任一项:

DateTime when = DateTime.Parse(data);
DateTime when = DateTime.ParseExact(data);
DateTime when = Convert.ToDateTime(data);

然后在查询中使用"when"。如果你知道他们都是平等的,我不确定按它排序的目的,不过。。。我错过什么了吗?

如果问题是你只想要时间部分(而不是日期部分),你能澄清一下吗?

TryParse确实产生了一个bool(作为解析的成功):

Dim DateText = Request.QueryString("date")
Dim MyDate As DateTime = Nothing
If DateTime.TryParse(DateText, MyDate) Then
  '--Date was passed correctly
End If

问候Christoph