2017-07-31 49 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> 
相關問題