http: //demos.kendoui.com/web/dropdownlist/template.html([ASP.NET MVC]> [template.cshtml]をクリック)に示すように、剣道のドロップダウンリストを使用し、テンプレートメソッドを使用してオプションをレンダリングしようとしています。問題を単純化するために、私は単にAccountDescriptionのみを表示しようとしています。
これが私のこれまでのコードです。
cshtml
...
<div class="editor-field">
<script>
function entityFiltering() {
return {
entityId: $("#EntityId").val()
};
}
</script>
@(Html.Kendo().DropDownListFor(m => m.AccountNumber)
.Name("AccountNumber")
.DataTextField("AccountShortCode")
.DataValueField("AccountNumber")
.Template("<table><tr><td width='100px'>${ data.AccountDescription } </td></tr></table>")
.OptionLabel("Please select...")
.DataSource(source => source.Read(read => read.Action("ActionName", "ControllerName")
.Data("entityFiltering"))
.ServerFiltering(true))
.Enable(false)
.AutoBind(false)
.CascadeFrom("EntityId")
)
@Html.ValidationMessageFor(m => m.SourceAccountNumber)
</div>
...
モデルは次のようになります
public class Model {
[Required]
[Display(Name = "Short Code")]
public string AccountShortCode { get; set; }
[Required]
[Display(Name = "Account Number")]
[ScaffoldColumn(false)]
public int AccountNumber { get; set; }
[Required]
[Display(Name = "Description")]
[ScaffoldColumn(false)]
public string AccountDescription { get; set; }
}
ドロップダウンリストが表示されると、すべてのオプションがリストに表示されますが、表示されundefined
ます。オプションを選択すると、グリッドに実際の正しい値のバインドが表示されるので、問題は純粋に表示の問題だと思います。