我们正在使用 Telerik 控件实现 MVC 解决方案,并且在刷新 Telerik ComboBox 列表时遇到了一些问题。实际上,每次在另一个 ComboBox 中选择的值发生更改时,我们都需要刷新 ComboBox 的可用值列表。下面是我们的场景:
- Main ComboBox 有一个字符串值列表,我们添加了一个事件;
- Detail 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
}