Wat is er mis met het volgende?
@Convert.ToDateTime((@item.Date.ToShortDateString())," dd - M - yy")
@item.Datum wordt weergegeven op 20/11/2005 12:00 uur en ik wil 20 nov 2011 weergeven
Antwoord 1, autoriteit 100%
Probeer:
@item.Date.ToString("dd MMM yyyy")
of u kunt de [DisplayFormat]
-kenmerk op uw weergavemodel:
[DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
public DateTime Date { get; set }
en volgens jou gewoon:
@Html.DisplayFor(x => x.Date)
Antwoord 2, autoriteit 28%
Dit is de oplossing:
@item.Published.Value.ToString("dd. MM. yyyy")
Gebruik vóór ToString()Value.
Antwoord 3, autoriteit 12%
Probeer dit in MVC 4.0
@Html.TextBoxFor(m => m.YourDate, "{0:dd/MM/yyyy}", new { @class = "datefield form-control", @placeholder = "Enter start date..." })
Antwoord 4, autoriteit 8%
Het kenmerk [DisplayFormat] wordt alleen gebruikt in EditorFor/DisplayFor en niet door de onbewerkte HTML-API’s zoals TextBoxFor. Ik heb het werkend gekregen door het volgende te doen,
Model:
[Display(Name = "When was that document issued ?")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
public DateTime? LiquorLicenceDocumentIssueDate { get; set; }
Bekijken:
<div id="IsLiquorLicenceDocumentOnPremisesYes" class="groupLongLabel">
@Html.LabelFor(m => m.LiquorLicenceDocumentIssueDate)
<span class="indicator"></span>
@Html.EditorFor(m => m.LiquorLicenceDocumentIssueDate)
<span id="validEmail"></span>
<br />
@Html.ValidationMessageFor(m => m.LiquorLicenceDocumentIssueDate)
</div>
Uitvoer:
30/12/2011
Verwante link:
Antwoord 5, autoriteit 4%
De onderstaande code helpt je
@Html.Label(@item.Date.Value.ToString("dd - M - yy"))
Antwoord 6, autoriteit 2%
Plaats voor Razor het bestand DateTime.cshtml in de map Views/Shared/EditorTemplates. DateTime.cshtml bevat twee regels en produceert een tekstvak met een datumnotatie op 11 september 2001.
@model DateTime?
@Html.TextBox("", (Model.HasValue ? Model.Value.ToShortDateString() : string.Empty), new { @class = "datePicker" })
Antwoord 7
Over het algemeen krijgt de geschreven maand een escapeteken als MMM, het 4-cijferige jaar als jjjj, dus je opmaaktekenreeks moet er uitzien als “dd MMM yyyy”
DateTime.ToString("dd MMM yyyy")
Antwoord 8
Ik kon dit niet volledig werkend krijgen op basis van de bovenstaande suggesties. Het toevoegen van het DataTypeAttribute [DataType(DataType.Date)]
leek mijn probleem op te lossen, zie:
Model
[Required]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
public DateTime RptDate { get; set; }
Bekijken
@Html.EditorFor(m => m.CLPosts.RptDate)
HTH
Antwoord 9
Voor alle gegeven oplossingen, als je dit in een moderne browser (zoals FF) probeert en je het juiste model hebt ingesteld
// Model
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime Start { get; set; }
// View
<div class="form-group">
@Html.LabelFor(model => model.Start, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Start, "{0:dd-MM-yyyy}", new { htmlAttributes = new { @class = "form-control"} })
</div>
</div>
mvc(5) zal renderen (het typevan de invoer is ingesteld op datumop basis van uw datuminstellingen in uw model!)
<div class="col-md-10">
<input class="form-control text-box single-line" data-val="true" data-val-date="The field Start must be a date." data-val-required="The Start field is required." id="Start" name="Start" value="01-05-2018" type="date">
<span class="field-validation-valid text-danger" data-valmsg-for="Start" data-valmsg-replace="true"></span>
</div>
En de browser zal tonen
Om dit op te lossen, moet je het typewijzigen in tekstin plaats van de datum (ook als je je aangepaste kalender wilt gebruiken)
@Html.EditorFor(model => model.Start, "{0:dd-MM-yyyy}", new { htmlAttributes = new { @class = "form-control", @type = "text" } })
Antwoord 10
Op basis van wat Anjan Kant hierboven zei, kwam ik op dit uit (zou je een upvote hebben gegeven, maar ik ben te nieuw)
@if (Model.Quotes != null)
{
foreach (var item in Model.Quotes)
{
<tr class="code-black">
<td class="td">
@Html.Label(@item.CreateDate.ToShortDateString())
</td>
<td class="td">
@Html.DisplayFor(modelItem => item.Status)
</td>
<td class="td">
@Html.DisplayFor(modelItem => item.ProjectName)
</td>
<td class="td usd">
@Html.DisplayFor(modelItem => item.Total)
</td>
<td class="td">
<a asp-page="../Quote/Details" asp-route-
id="@item.Id">View</a>
</td>
</tr>
}
}
Antwoord 11
Eenvoudige manier om het datumtype te wijzigen, bijvoorbeeld:
[DataType(DataType.Date)]
public DateTime? DataEurGbp { get; set; }