Kendo MVC DropDownListFor bindet nicht Wert ausgewählt
@(Html.Kendo().DropDownListFor(model => model.ServiceID)
.OptionLabelTemplate("#=optionLabel#")
.ValueTemplate("#=Code#(#=Rate#) - #=Description#")
.Template("#=Code#(#=Rate#) - #=Description#")
.DataTextField("Code")
.DataValueField("ServiceID")
.DataSource(d =>
{
d.Read(read =>
{
read.Action("GetServiceRepository", "Service").Type(HttpVerbs.Post);
});
})
.Events(e => e.Change("onWorkOrderJobServiceChange"))
.HtmlAttributes(new { required = "required" })
.OptionLabel(new { optionLabel = Resources.Wording.SelectOne, ServiceID = 0, Rate = 0, Code = "", Description = "" })
)
Ich habe ein Dropdown wie oben zu modellieren, und möchte den ausgewählten Wert an Modell ServiceID
Feld binden (die vom Typ int
)
Unabhängig davon, welches Element ich auswähle, ist das Feld ServiceID
immer Null! Es ist nicht einmal von Nullable Typ int?
!
Warum passiert das und wie kann ich erreichen, was ich versuche?
Danke für die Lösung, und es funktioniert! Nur eine Sache verwirrt mich, was bedeutet .DataValueField() bedeutet? Ich dachte, es definiert, welches Feld als der ausgewählte Wert verwendet wird, aber scheint der ausgewählte Wert immer (Text, Wert) Paar? – shole
Wenn wir DataValueField setzen, sollten wir im Idealfall einen Wert anstelle eines Paares erhalten. Leider nicht. Ich stimme zu, dass es mich auch zuerst verwirrt hat. – Win