Kendo UI 用に有効にした Visual Studio 2012 Internet Application を使用しています。これは MVC4 C# および Razor View プロジェクトです。
6 つ以上のモデルがあり、最終的にはこれらのドロップダウンでカスケードします
私はチュートリアルを順を追って進めてきました(実際にそれをコピーし、コードで名前を変更しました)。
ページが読み込まれると、UI は見栄えがよくなりますが、DropdownLists(/comboboxes) にバインドされるデータはありません
私は本当に最初の DropDownList atm だけに焦点を当てています。
<p>
<label for="clients">Clients:</label>
@(Html.Kendo().DropDownList()
.Name("clients")
.HtmlAttributes(new { style = "width:300px" })
.OptionLabel("Select Client...")
.DataTextField("Client")
.DataValueField("ClientID")
.DataSource(source => {
source.Read(read => {
read.Action("GetCascadeClients", "ComboBox");
});
})
)
</p>
コードが到達したとき
.DataSource(source => {
source.Read(read => {
read.Action("GetCascadeClients", "ComboBox");
});
})
このアクションを呼び出すことになっていますが、 このアクションはこのビューのコントローラーにありますか?
public JsonResult GetCascadeClients()
{
var Clients = db.Clients.AsQueryable();
return Json(db.Clients.Select(c => new { ClientID = c.ClientID, Client = c.Client }), JsonRequestBehavior.AllowGet);
}
私の質問は、私が何を間違っているのかということです。それはほとんどばかげているに違いありません.... (はい、データはデータベースにあり、他のコントロールでは正常にバインドされています。)
編集:下の 2 つのドロップダウン ボックスにテキストが表示され、上のドロップダウン ボックスにテキストが表示されないのは少し奇妙だと思いましたか?
ここでヒットしていないブレークポイント:
また、私は実行するこのスクリプトタグを持っていますが、おそらく何か問題がある可能性があります
<script>
$(document).ready(function () {
var clients = $("#clients").data("kendoDropDownList"),
countys = $("#countys").data("kendoDropDownList"),
townShips = $("#townShips").data("kendoDropDownList");
$("#get").click(function () {
var clientsInfo = "\nclients: { id: " + clients.value() + ", name: " + clients.text() + " }",
countysInfo = "\ncountys: { id: " + countys.value() + ", name: " + countys.text() + " }",
townShipsInfo = "\ntownShips: { id: " + townShips.value() + ", name: " + townShips.text() + " }";
alert("Select Tract To Upload:\n" + clientsInfo + countysInfo + townShipsInfo);
});
});
</script>