2

我正在创建一个预订系统,我想这样当用户在日历上选择一个日期时,下拉框将填充可用的时间。

下面是我的代码...

Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged

    Label1.Text = Calendar1.SelectedDate
    Dim db As New DataClasses2DataContext

    Dim times = From s In db.Apps Where s.Date = Calendar1.SelectedDate Select New With {s.StartTime}

    Dim allslots = From c In db.Slots Select c.StartTime

    Dim leftover = times.Except(allslots)

    DropDownList1.DataSource = leftover
    DropDownList1.DataBind()


End Sub

这是我得到的错误......

无法转换类型为“System.Data.Linq.DataQuery 1[System.TimeSpan]' to type 'System.Collections.Generic.IEnumerable1[VB$AnonymousType_1`1[System.TimeSpan]]”的对象。

根据我的一般知识,我知道我将需要一个时间跨度。解析某个地方,我玩过一些东西,但似乎无法解决,有人可以帮忙吗?

谢谢,科拉。

4

1 回答 1

3

我想你的意思是:

Dim times = From s In db.Apps
            Where s.Date = Calendar1.SelectedDate
            Select s.StartTime

我想你可能已经Except退步了。你是这个意思吗?

Dim leftover = allslots.Except(times)
于 2012-04-19T16:30:18.643 回答