剣道グリッドエディタ関数を使用して、ポップアップ(編集フォーム)の国番号&のカスケードDropDownListを実装しています。しかし、私はそれを行うことができません(リストは両方とも首尾よく埋められますが、カスケードされません。ユーザーがCountryオプションを選択したときと同様に、選択された国オプションに基づいて州リストが設定されます)。私を助けてください。私はTelerik Webサイトから多くのソリューションを試しましたが、DataSourceとしてOdataを使用しています。データベースからデータを取得しています。エディタ関数を使用したKendogridカスケーディングDropdownList
public JsonResult Details()
{
var country = dbforcountry.Countries.ToLoist();
list<SelectListItems> licountry = new list<SelectListItems>();
foreach (var i in country)
{
licountry .Add(new list<SelectListItems> {Text = u.Name, Value =
u.ID.ToString() });
}
return Json(new SelectList(licountry, "Value", "Text",
JsonRequestBehaviour.AllowGet))
}
public JsonResult getstates(int id)
{
var states= dbforcountry.States.ToLoist();
list<SelectListItems> listates = new list<SelectListItems>();
foreach (var i in states)
{
listates.Add(new list<SelectListItems> {Text = u.Name, Value =
u.ID.ToString() });
}
return Json(new SelectList(listates, "Value", "Text",
JsonRequestBehaviour.AllowGet))
}
エディタ機能(表示):
function CountryDropDown(container, options)
{
$('<input id="Countrydropdown" data-text-field="Text" data-value-
field="Value" data-bind="value:'+options.field+'" />')
.appendTo(container)
.kendDropDownList({
autoBind: false,
dataTextField="Text",
dataValueField="Value",
dataSource: {
type: "json",
transport:{
read:{
url: "../mycontroller/Details",
method:"POST"
}
}
},
})
}
function StateDropDown(container, options)
{
$('<input id="Statedropdown" data-text-field="Text" data-value-
field="Value" data-bind="value:'+options.field+'" />')
.appendTo(container)
.kendDropDownList({
autoBind: false,
dataTextField="Text",
dataValueField="Value",
dataSource: {
type: "json",
transport:{
read:{
url: "../mycontroller/getstates",
method:"POST"
}
}
},
})
}
}
})
}
"できない"と言ったら、どういう意味ですか?ドロップダウンにデータが入力されていませんか?コントローラメソッドが呼び出されていませんか?何かエラーがありますか? – Sandman
両方が正常に読み込まれます。しかし、彼らはカスケードされていません。ユーザーがCountryオプションを選択した場合と同様に、Stateドロップダウンは選択されたCountryオプションに基づいて設定されます。 – Ali