Hiding the default value for a date

前端 未结 3 2019
感情败类
感情败类 2021-01-20 22:48

My View Model:

public partial class FileTransferFilterCriteriaViewModel
{
    public string Fice { get; set; }
    public string SourceEmail { get; set; }
    pu         


        
相关标签:
3条回答
  • 2021-01-20 23:22

    Use nullable date in your ViewModel:

    public DateTime? FromDate { get; set; }
    
    0 讨论(0)
  • 2021-01-20 23:27

    Everything is working perfectly. You are not fetching any data from the database though (as evidenced by passing in a newly instantiated view model return View(new FileTransferFilterCriteriaViewModel())). You should consider doing that inside of your controller's action method. To get a shorter date format, use @Html.TextBoxFor(x =>x.Criteria.FromDate.ToShortDateString())

    0 讨论(0)
  • 2021-01-20 23:39

    I have created an editor template and this is working for me.

    Changes to view model:

    [UIHint(UiHintConstants.DateCalendar)]
            public DateTime? FromDate { get; set; }
    
            [UIHint(UiHintConstants.DateCalendar)]
            public DateTime? ToDate { get; set; }
    

    After that, created an editor template in Views/Shared/EditorTemplate folder called DateCalendar.chtml:

    @using System.Globalization
    @model DateTime?
    
    @Html.TextBox("", (Model.HasValue && !Model.Value.ToString(CultureInfo.InvariantCulture).Contains("1900") && !Model.Value.ToString(CultureInfo.InvariantCulture).Contains("0001") ? Model.Value.ToString("MM/dd/yyyy") : string.Empty), new { @class = "datePicker", maxlength = "12", size = "12" })
    

    and then utilized it as:

    @Html.EditorFor(x =>x.FromDate)
    @Html.EditorFor(x => x.ToDate)
    

    and here is the source code:

    <input class="datePicker" id="Criteria_FromDate" maxlength="12" name="Criteria.FromDate" size="12" type="text" value="" />
    
    <input class="datePicker" id="Criteria_ToDate" maxlength="12" name="Criteria.ToDate" size="12" type="text" value="" />
    

    Hope this helps some one else.

    I couldn't figure out one part though, moving the size and maxlenth out of the template. In this case it is not relevant but may become in some other instances like where i may lock the text box or don't want the jquery calendar. I'll post as soon as i have a handle on this.

    0 讨论(0)
提交回复
热议问题