A mio avviso ho un campo della data (che ha usato per Jquery Selezione data),Come rimuovere parte ora dalla variabile DateTime in MVC
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.TextBoxFor(m => m.SubmitStartDate , new { @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
Nel mio modello che ho:
[Required(ErrorMessage = "Please select a start date")]
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime? SubmitStartDate { get; set; }
Tuttavia in UI ottengo 10/07/2013 00:00:00 in caricamento, Come posso rimuovere la parte relativa all'ora da questo. Inoltre richiedo la data nel formato "gg-mm-aa". È possibile raggiungere?
UPDATE
ho modificato il mio codice come per le risposte, e ho avuto ha funzionato secondo il requisito, ma ho avuto un problema.
Quando uso @Html.EditorFor()
la mia proprietà readonly
non funzionerà più. Ho provato anche con DisplayFor
, tuttavia non ha senso dato che lo stavo usando per una query J Date Picker. C'è un modo per rendere quel campo solo per leggere?
Codice aggiornato:
@if (Model != null)
{
if (Model.SubmitStartDate == DateTime.MinValue)
{
Model.SubmitStartDate = null;
}
@Html.EditorFor(m => m.SubmitStartDate , new { type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @Model.SubmitStartDate})
}
e cambiare il DataFormatString "{0: gg-mm-aaaa}" –
Solo per completezza: se avete solo bisogno di rimuovere la parte di tempo (lo so, questo non è il vostro unico requisito), aggiungi l'attributo '[DataType (DataType.Date)]' –
Grazie per la risposta, in effetti funziona come charm :) tuttavia la mia proprietà di sola lettura non funziona più, quando uso Editfor '@ Html.EditorFor (m = > m.SubmitStartDate, new {type = "date", @Id = "SubmitStartDate", @readonly = "readonly", @Value = @ Model.SubmitStartDate}) ' – TBA