Telerik コントロールを使用して MVC ソリューションを実装していますが、Telerik ComboBox のリストを更新する際に問題が発生します。実際には、別の ComboBox で選択された値が変更されるたびに、ComboBox の使用可能な値のリストを更新する必要があります。以下はシナリオです。
- Main ComboBox には文字列値のリストがあり、イベントを追加しました。
- 詳細 ComboBox には、Main ComboBox から選択されたものに応じた値のリストがあります。
- Main ComboBox のイベントが発生すると、javascript は Controller のアクションを呼び出します。
- コントローラーは、List02 (ComboBox02 にバインドされたデータソース) のコンテンツを更新します。
実際にはすべて正しく実行されますが、Detail ComboBox は更新されません。何が間違っているか、または見逃されていますか?
助けてくれてありがとう
メインコンボボックス:
<%=Html.Kendo().DropDownListFor(ourModel => ourModel.ModelPK)
.HtmlAttributes(new { @class="textboxDetails" })
.Name("combo01")
.BindTo((IEnumerable<ModelObject>)ViewData["List01"])
.DataTextField("descriptionText")
.DataValueField("valueID")
.Value(ourModel.ModelPK.ToString())
.Events(e =>
{
e.Select("onSelect");
})
%>
詳細コンボボックス:
<%=Html.Kendo().DropDownListFor(ourModel => ourModel.secPK)
.HtmlAttributes(new { @class="textboxDetails" })
.Name("combo02")
.BindTo((IEnumerable<ModelObject>)ViewData["List02"])
.DataTextField("descriptionText")
.DataValueField("valueID")
.Value(ourModel.Model02PK.ToString())
%>
aspx ページの Javascript:
function onSelect(e) {
var dataItem = this.dataItem(e.item);
var itemPK = dataItem.valueID;
$.ajax({
type: 'POST',
url: '/controller01/action01',
data: "{'sentPK':'" + sentPK + "'}",
contentType: 'application/json; charset=utf-8',
success: function (result) {
},
error: function (err, result) {
alert("Error" + err.responseText);
}
});
}
コントローラーのアクション:
[AcceptVerbs(HttpVerbs.Post)]
public void action01(model01 editModel, int sentPK)
{
//View data loads correctly
}