0

在我的 ASP.NET MVC 应用程序中,我有一个名为“Date”的 ViewModel 属性,其格式为“5/18/2012 2:43:45 PM”。我想将其拆分为 UI 上的单独控件。

jQuery UI - Datepicker would show the date - DONE
Show three dropdowns next to the Datepicker that display hour,minutes and am/pm.

我已将三个下拉菜单添加到 UI,但我很难理解如何根据 ViewModel 的“日期”属性返回的内容来设置这些值?换句话说,我如何拆分日期并将其显示在三个下拉列表中?

编辑:这是视图:

<div>           
            <%= Html.TextBoxFor(c => c.Scheduled, new { @Value = Model.Scheduled.Value.ToShortDateString(), @class = "datetime", style = "width:150px;" })%>                                      
                   <ol class="align">
                <li class="align" >
                    <select name="hour" >
                        <option value="1">1 </option>
                        <option value="2">2 </option>
                        <option value="3">3 </option>
                        <option value="4">4 </option>
                        <option value="5">5 </option>
                        <option value="6" >6 </option>
                        <option value="7">7 </option>
                        <option value="8">8 </option>
                        <option value="9">9 </option>
                        <option value="10">10 </option>
                        <option value="11">11 </option>
                        <option value="12">12 </option>                       
                    </select></li>                  
            </ol>        
            </div>
4

1 回答 1

0

如果“Date”属性的类型正确(DateTime),您应该能够调用 Date.Hour、Date.Minute,并使用 Date.ToString("tt") 来获取 am/pm。

假设 MVC3 带有剃刀......

<div id="time">
    Hour:<br/>
    <input type="text" value="@Model.Date.Hour" /><br/>
    Minute:<br/>
    <input type="text" value="@Model.Date.Minute" /><br/>
    AM/PM:<br/>
    <input type="text" value="@Model.Date.ToString("tt").ToLower()" />
</div>
于 2012-07-13T14:51:28.573 回答