Chi*_*keh 1 vb.net asp.net html-select
我有一个日期下拉列表,代表我们部门的重要职能.
这些日期年复一年.
以下是日期的下拉列表:
<asp:DropDownList id="txtdte" runat="server">
<asp:ListItem Value="07/31/2012">Jul 31, 2012</asp:ListItem>
<asp:ListItem Value="08/21/2012">Aug 21, 2012</asp:ListItem>
<asp:ListItem Value="09/18/2012">Sep 18, 2012</asp:ListItem>
<asp:ListItem Value="11/06/2012">Nov 06, 2012</asp:ListItem>
<asp:ListItem Value="12/04/2012">Dec 04, 2012</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)
为确保在下拉列表框顶部显示正确的日期,我们提供以下代码:
For Each items As ListItem In txtdte.Items
If (items.Value.CompareTo(DateTime.Today.ToString("MM/dd/yyyy"))) < 0 Then
items.Enabled = False
End If
Next
Run Code Online (Sandbox Code Playgroud)
这意味着我们从7月31日开始.一旦7月31日消失,下一个可用日期将成为当前日期.
直到现在,管理层决定添加1月的日期是2013年8月1日,这对我们来说一直很有用.
<asp:ListItem Value="01/08/2013">Jan 08, 2013</asp:ListItem>
Run Code Online (Sandbox Code Playgroud)
现在,dropdownlistbox为空白.
在我看来,2013年需要进行一些调整才能得到认可,但我不确定是什么.
非常感谢任何想法.
我猜这是在执行字符串比较,其中"01/08/2013"作为字符串比较小于"12/13/2012"("0"按字母顺序早于"1")
尝试更改代码以将值从字符串转换为日期并比较DateTime对象而不是字符串表示形式:
For Each items As ListItem In txtdte.Items
If (DateTime.Parse(items.Value).CompareTo(DateTime.Today)) < 0 Then
items.Enabled = False
End If
Next
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |