2016-04-20 6 views
1

Ich verwende einen Scheduler von Kendo UI für MVC. Ich habe eine benutzerdefinierte Editorvorlage erstellt. Es funktioniert gut. Wenn Sie auf den Zeitplan klicken, öffnet sich ein Fenster und zeigt die Informationen an.Wie zeigt man den Wert des Modells in Kendo Custom Editor Template?

Ich habe einige Eigenschaften im Modell hinzugefügt, den Wert an die Editorvorlage übergeben. Nun ist die Frage:

Wie kann ich die hinzugefügten Eigenschaften (wie Wert, und ich möchte es nicht ändern) im Editor Vorlage Popup anzeigen?

Ich fand, dass, wenn ich eine Textbox verwenden:

@(Html.TextBoxFor(model => model.Role, new { @class = "k-textbox" })) 

Es zeigt eine Textbox und zeigt den richtigen Wert der Rolle. Wenn ich jedoch

<div>@(Model.Role)</div> 

verwenden, zeigt es leer, so wie der Wert NULL ist.

Ich möchte wirklich einige zusätzliche Eigenschaften als Satz zeigen, das heißt ich hinzugefügt Rolle und Benutzername und ich Ameise wie etwas zeigen:

UserNameValue has Role of RoleValue 

Jeder weiß, wie es zu tun?

Ich benutze dies als Beispiel in dem Code: http://www.telerik.com/support/code-library/custom-editor

Dank

Antwort

1

Ihre Lösung ist, diese Linie zu setzen, weil der Editor-Vorlage von mvvm binded ist

<div data-bind="text: Role"></div> 

Docs

+0

danke. Die Dokumente, auf die Sie hingewiesen haben, sind sehr hilfreich. – urlreader

0

Im Code: model => model.Role Modell ist nur ein Alias, nicht ein tatsächliches Objekt. Sie könnten es durch m => m.Role ersetzen und es würde das gleiche funktionieren.

Wenn Sie schreiben @Model Ihrer Ansicht nach das Objekt von ContractViewModel verwenden, die von Controller-Aktion übergeben wird, wenn es nicht von View übergeben wird es Null sein kann und jede Eigenschaft des Modells Zugriff kann Null Reference Exception werfen und Schreiben Model.Contractors Sie im Grunde bedeuten ContractViewModel.Contractors

sehen Sie diesen Beitrag: mvc uppercase Model vs lowercase model

Verwandte Themen