给Html赋值.通过ViewBag从控制器方法获取下拉列表
本文关键字:控制器 方法 获取 下拉列表 ViewBag Html 赋值 通过 | 更新日期: 2023-09-27 18:07:47
我有一个@Html。我的视图上的下拉列表,其初始值为null。该列表的值必须基于从其他dropDownList中选择的值来填充。我有我的两个下拉列表如下
<div class="col-sm-7">
@Html.DropDownList("City", null, new {@id="City", @class="form-control"})
</div>
<div class="col-sm-7">
@Html.DropDownList("Theatre", null, new {@id = "Theatre", @class = "form-control"})
</div>
剧院必须根据城市下拉列表中选择的值进行填充。由于剧场不能为空,我最初设置了ViewBag。剧场到一个空列表在我的控制器的动作方法。一旦选定了一个城市,我就会从jQuery中调用一个ajax调用,在控制器中调用另一个方法来设置ViewBag。我回来的名单上有剧院。
但是Theatre下拉菜单的内容仍然是空的。我如何刷新后的下拉菜单的内容ViewBag。剧场价值变了吗?
这是我的jQuery调用控制器方法$("#City").change(function() {
if ($("#City").val() != 0) {
var ty = $("#City").val();
$.ajax({
url: rootDir + "/AnalysisHistory/SetTheatres",
data: {city: city },
type: "POST",
dataType: "html",
success: function () {
$(".form").show();
$("#loading").hide();
$("#analysisDetails").slideDown('slow');
});
} else {
$(".form").hide();
}
});
改变城市的下拉列表,下面是我为填充影院下拉列表所做的:•我清空了影院下拉列表的内容•当我以JSON形式接收新列表时,在成功时,我将用新内容重新填充列表。这是我的代码
success: function (datax) {
var result = "";
var listObj = $.parseJSON(datax);
$(listObj).each(function (i, val) {
result += '<option value="' + val.Value + '">' + val.Text + '</option>';
});
$("#Theatre").html(result);
$(".form").show();
$("#loading").hide();
$("#analysisDetails").slideDown('slow');
}