C# 在UI上拆分日期时间

C# 在UI上拆分日期时间,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,在我的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中添加了三个下拉列表,但是我很难理解如何根据V

在我的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的“Date”属性返回的内容设置这些值?换句话说,我如何分割日期并将其显示在三个下拉列表中

编辑:以下是视图:

<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>

c、 计划的,新的{@Value=Model.Scheduled.Value.ToShortDateString(),@class=“datetime”,style=“width:150px;”“})%>
  • 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12
  • 如果“Date”属性的类型(DateTime)正确,您应该能够调用Date.Hour、Date.Minute,并使用Date.ToString(“tt”)获取am/pm

    假设MVC3带有razor

    <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>
    
    
    小时:

    分钟:

    上午/下午:

    这是家庭作业吗?如果是这样,请适当标记。否-这不是家庭作业。我希望得到一些关于如何实施的建议。是的。Date属性是DateTime。但是如果我使用上面的代码,UI上显示的值是“@Model.Date.Hour”。如果我删除引号,我会得到一个错误“属性值必须用引号括起来”您使用的是哪个版本的MVC?另外,您使用的是Razor视图引擎(.cshtml文件)还是WebForms(.aspx)?如果您使用的是webforms,那么这可能就是问题所在。你能在你的问题中从你的角度发布代码吗?我使用的是.aspx。用视图更新了Q。谢谢