none
Vom Datum (nullable) nur Tag und Monat ausgeben RRS feed

  • Frage

  • Hallo,

    in meiner MVC View steht folgendes drin:

    @Html.DisplayFor(modelItem => item.Datum)

    Das Datum ist nullable (DateTime?).

    Es sollen nur der Tag und der Monat (z. B. 02.09) ausgegeben werden, aber mit

    @Html.Display((item.Datum.HasValue ? item.Datum.Value.ToString("dd.MMM") : ""))

    klappt es leider nicht. Wie muss man es richtig machen?

    Montag, 2. September 2013 12:50

Antworten

  • Hallo,

    habe es nun über ein DisplayTemplate gelöst:

    @model System.DateTime?
    @Html.Raw(Model.HasValue ? Model.Value.ToString("dd. MMMM") : string.Empty)

    das in der View mit

    @Html.DisplayFor(model => item.Datum, "Spezialdatum")

    aufgerufen und formatiert wird (hier nun mit 02. September).

    Gibt es noch andere Ideen, wie man das machen könnte?

    Gruß und Danke

    Konfida

    • Als Antwort markiert KonFiDa Montag, 2. September 2013 14:28
    Montag, 2. September 2013 14:28

Alle Antworten

  • Es sollen nur der Tag und der Monat (z. B. 02.09) ausgegeben werden, aber mit

    @Html.Display((item.Datum.HasValue ? item.Datum.Value.ToString("dd.MMM") : ""))

    klappt es leider nicht. Wie muss man es richtig machen?

    was heißt "klappt nicht" ?

    .ToString("dd.MMM") gibt eigentlich den Monat als 3. stelliges Buchstabenkürzel aus.

    .ToString("dd.mm") sollte den Monat als Ziffern ausgeben.

    Montag, 2. September 2013 13:11
  • Hallo Holger Vorberg,

    Danke! Stimmt, hätte einfach beschreiben sollen, dass bei den Feldern, die leer sind, endlose Zeichenfolgen wie "System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System.Data.Entity.DynamicProxies.Organisation_2357310B98D95DAA53598CFD1A95D2BF27A765F391479972647C270D722771A0System"  und so weiter ausgegeben werden, aber dort, wo ein Datum tatsächlich vorhanden ist, eben gar nichts.

    Das mit der Monatszahl bzw. der Abkürzung des Monats ist daher gekommen, dass man noch nicht weiß, was "besser" aussieht ;-) Kann man erst entscheiden, wenn überhaupt was ausgegeben wird.

    Montag, 2. September 2013 13:33
  • Hallo,

    habe es nun über ein DisplayTemplate gelöst:

    @model System.DateTime?
    @Html.Raw(Model.HasValue ? Model.Value.ToString("dd. MMMM") : string.Empty)

    das in der View mit

    @Html.DisplayFor(model => item.Datum, "Spezialdatum")

    aufgerufen und formatiert wird (hier nun mit 02. September).

    Gibt es noch andere Ideen, wie man das machen könnte?

    Gruß und Danke

    Konfida

    • Als Antwort markiert KonFiDa Montag, 2. September 2013 14:28
    Montag, 2. September 2013 14:28