2017-07-31 84 views
0

我想弄清楚为什么这不会工作。任何帮助或见解将不胜感激。我想绑定到一个时间列在选定值下拉列表:如何将SQL Server时间值绑定到ASP.Net Web窗体中的下拉列表中?

<asp:DropDownList ID="lblReadyTime" runat="server" 
    DataTextFormatString="{0:htt}" 
    SelectedValue='<%#Bind("ReadyTime", "{0:htt}")%>'> 
    <asp:ListItem Text="12AM" Value="12AM" /> 
    <asp:ListItem Text="1AM" Value="1AM" /> 
    <asp:ListItem Text="2AM" Value="2AM" /> 
    <asp:ListItem Text="3AM" Value="3AM" /> 
    <asp:ListItem Text="4AM" Value="4AM" /> 
    <asp:ListItem Text="5AM" Value="5AM" /> 
    <asp:ListItem Text="6AM" Value="6AM" /> 
    <asp:ListItem Text="7AM" Value="7AM" /> 
    <asp:ListItem Text="8AM" Value="8AM" /> 
    <asp:ListItem Text="9AM" Value="9AM" /> 
    <asp:ListItem Text="10AM" Value="10AM" /> 
    <asp:ListItem Text="11AM" Value="11AM" /> 
    <asp:ListItem Text="12PM" Value="12PM" /> 
    <asp:ListItem Text="1PM" Value="1PM" /> 
    <asp:ListItem Text="2PM" Value="2PM" /> 
    <asp:ListItem Text="3PM" Value="3PM" /> 
    <asp:ListItem Text="4PM" Value="4PM" /> 
    <asp:ListItem Text="5PM" Value="5PM" /> 
    <asp:ListItem Text="6PM" Value="6PM" /> 
    <asp:ListItem Text="7PM" Value="7PM" /> 
    <asp:ListItem Text="8PM" Value="8PM" /> 
    <asp:ListItem Text="9PM" Value="9PM" /> 
    <asp:ListItem Text="10PM" Value="10PM" /> 
    <asp:ListItem Text="11PM" Value="11PM" /> 
</asp:DropDownList> 

回答

0

你需要转换为DateTime第一,然后得到正确的时间。

SelectedValue='<%# Convert.ToDateTime(Eval("ReadyTime")).ToString("htt", System.Globalization.CultureInfo.InvariantCulture) %>' 
+0

这给了我一个错误 System.InvalidCastException:“无法投类型的对象System.TimeSpan为键入‘System.IConvertible’。” – bryanbalmer

+0

向Eval添加一个.ToString()帮助我过去了那个错误,但是它告诉我它试图绑定的值不在列表中。 'lblReadyTime'有一个无效的SelectedValue,因为它在项目列表中不存在。 参数名称:值 – bryanbalmer

+0

“ReadyTime”的DataType是什么? – VDWWD

0

我通过使值与我想要的时间字面值匹配并摆脱格式引用来修复它。

<asp:DropDownList ID="lblReadyTime" runat="server" 
    SelectedValue='<%#Bind("ReadyTime")%>'> 
    <asp:ListItem Text="12AM" Value="00:00:00" /> 
    <asp:ListItem Text="1AM" Value="01:00:00" /> 
    <asp:ListItem Text="2AM" Value="02:00:00" /> 
    <asp:ListItem Text="3AM" Value="03:00:00" /> 
    <asp:ListItem Text="4AM" Value="04:00:00" /> 
    <asp:ListItem Text="5AM" Value="05:00:00" /> 
    <asp:ListItem Text="6AM" Value="06:00:00" /> 
    <asp:ListItem Text="7AM" Value="07:00:00" /> 
    <asp:ListItem Text="8AM" Value="08:00:00" /> 
    <asp:ListItem Text="9AM" Value="09:00:00" /> 
    <asp:ListItem Text="10AM" Value="10:00:00" /> 
    <asp:ListItem Text="11AM" Value="11:00:00" /> 
    <asp:ListItem Text="12PM" Value="12:00:00" /> 
    <asp:ListItem Text="1PM" Value="13:00:00" /> 
    <asp:ListItem Text="2PM" Value="14:00:00" /> 
    <asp:ListItem Text="3PM" Value="15:00:00" /> 
    <asp:ListItem Text="4PM" Value="16:00:00" /> 
    <asp:ListItem Text="5PM" Value="17:00:00" /> 
    <asp:ListItem Text="6PM" Value="18:00:00" /> 
    <asp:ListItem Text="7PM" Value="19:00:00" /> 
    <asp:ListItem Text="8PM" Value="20:00:00" /> 
    <asp:ListItem Text="9PM" Value="21:00:00" /> 
    <asp:ListItem Text="10PM" Value="22:00:00" /> 
    <asp:ListItem Text="11PM" Value="23:00:00" /> 
</asp:DropDownList> 
相关问题