我的页面包含级联DDL和网格视图,它们使用纯粹的ajax。 GridView从sqlDataSouce获取数据,该数据应用以DDL值作为参数的存储过程。 当我在DDL中选择值时,网格视图会更改其数据而不刷新整个页面。
昨天我不得不更改存储过程,由于某种原因,sqlDataSource开始在获取数据方面遇到问题。
所以经过多次尝试使其工作后我终于尝试使用ObjectDataSource,它设法正确运行存储过程并获取数据。但是现在当我在DDL中选择值时,我得到Page Error并且GridView保持不变。
我能让它发挥作用吗? (当我搜索时,我找不到令人满意的答案) 非常感谢: - )
答案 0 :(得分:0)
cascading Country and state DDL
@Html.DropDownListFor(model => model.CountryId, Model.CountryList, "--Select Country--", new { @class = "CountryList", style = "width:150px" })
@Html.DropDownListFor(model => model.StateId, Model.StateList, "--Select State--", new { @class = "StateList", style = "width:150px" })
<script type="text/javascript">
$(document).ready(function () {
$.post("/Client/GetModels", { id: $(".CountryList").val() }, function (data) {
populateDropdown($(".StateList"), data);
});
$(".CountryList").change(function () {
$.post("/Client/GetModels", { id: $(this).val() }, function (data) {
populateDropdown($(".StateList"), data);
});
});
});
function populateDropdown(select, data) {
$(".StateList").empty();
$.each(data, function (id, option) {
$(".StateList").append("<option value='" + option.StateId + "'>" + option.State + "</option>");
});
}
</script>