我有一个带有两个telerik mvc下拉菜单的应用程序 - 地区和国家/地区。每次区域下拉更改时,我都需要使用ASMX Web服务填充国家/地区下拉列表。换句话说,我需要将参数传递给Web服务,以及从客户端调用bind方法的方法。这就是我所拥有的,但它不起作用。
@(Html.Telerik().DropDownList()
.Name("RegionDDL")
.BindTo(new SelectList(Model, "value", "value"))
.ClientEvents(events => events.OnChange("onChange"))
)
@(Html.Telerik().DropDownList()
.Name("SeasonDDL")
.ClientEvents(events => events
.OnDataBinding("onDropDownListDataBinding")
)
.DataBinding(dataBinding => dataBinding
.WebService().Select("~/country.svc/GetSeasonDropDownItems"))
)
现在是脚本
<script type="text/javascript">
var RegionDDLv;
function onChange() {
//Get the region
RegionDDLv = $("#RegionDDL").data("tDropDownList").value();
var countryDDLv = $("#countryDDL").data("tDropDownList");
countryDDLv.dataBind();//THIS IS NOT WORKING
}
function onDropDownListDataBinding(e) {
e.data = { region: RegionDDLv };
}
</script>
由于
答案 0 :(得分:3)
经过一番研究,我在这里找到了回答者
http://www.telerik.com/help/aspnet-mvc/telerik-ui-components-combobox-client-api-and-events.html
是
countryDDLv.reload();
答案 1 :(得分:1)
尝试
SeasonDDLv.rebind();
而不是
SeasonDDLv.dataBind();