2017-06-09 3 views
1

In meiner Postgres DB, ich habe eine Spalte für vatrate mit den folgenden WertenDropdownlist zeigt 4 Plätze Nachkommastelle, wenn Datenbank hat nur 1 Nachkommastelle C# MVC Postgres

9, 23, 0 und 13,5

Sie sind eingestellt als numerisch, mit nur 1 Nachkommastelle, und meine Viewmodel hat die folgende Anmerkung für diese Spalte FK

//for vat rate 
    [DisplayFormat(DataFormatString = "{0:0.#}", ApplyFormatInEditMode = true)] 
    public Guid? vat_guid { get; set; } 

Aus meiner Sicht habe ich den folgenden Code für das Dropdownlist

@Html.DropDownList("vat_guid", null, htmlAttributes: new { @class = "form-control" }) 

In meinem Controller habe ich

ViewBag.vat_guid = new SelectList(db.q_vat, "vat_guid", "q_rate", pagedProduct.SingleOrDefault().vat_guid); 

Aber jetzt für den Wert meiner Ansicht nach Ergebnis mit einer Dezimalstelle ist das Hinzufügen von 3 extra 0s auf diesen Wert, und ich kann was verursacht dieses Problem nicht finden

Dropdownlist on page

+1

'[Displayformat]' Versuche ist o Nur anwendbar auf 'EditorFor()'. Wie generieren Sie die SelectList im Controller? –

+0

mit dieser Zeile ViewBag.vat_guid = neue SelectList (db.q_vat, "vat_guid", "q_rate", pagedProduct.SingleOrDefault(). Vat_guid); . Ich habe die Frage aktualisiert, um den Controller-Code hinzuzufügen. – LavsTo

+1

Erstellen Sie Ihre SelectList mit 'db.q_vat.ToList(). Wählen Sie (x => new SelectListItem {Wert = x.vat_guid, Text = x.q_rate.ToString (" 0: 0. # ")});' –

Antwort

0

die folgende Lösung

[DisplayFormat(DataFormatString = "{0:0.0}", ApplyFormatInEditMode = true)] 
public Guid? vat_guid { get; set; } 
+0

alread versucht, dass einschließlich '" {0: #. #} "' Und kein Glück. – LavsTo

+0

haben Sie versucht "{0: 0.0}" –

+0

Lesen Sie den ersten Kommentar in der Frage! –