【发布时间】:2016-08-01 11:37:32
【问题描述】:
我有一个由两个下拉框和一个网格视图组成的网页。我创建了一个 Web 服务来收集下拉框的数据,并使用 ajax 调用来填充它们。我遇到的问题是当我尝试添加 OnSelectedIndexChanged 事件处理程序时,它似乎无法正常工作。我环顾四周,尝试了一些事情。我已将 EnableEventValidation 设置为 false(我认为这解决了与我的 ddl 在 js 中动态填充相关的问题)。我还在我的 ddl 上启用了 AutoPostBack。
当我更改 ddl 索引时,页面似乎正在回发,但我的 dll 索引反转回之前选择的索引。
<div class="row control-group">
<div class="form-group col-xs-12" id="mailbox">
<label>Which bills would you like to view?</label>
<asp:DropDownList ID="ddlDepartment" runat="server" CssClass="form-control"></asp:DropDownList>
<asp:DropDownList ID="ddlUser" runat="server" CssClass="form-control" OnSelectedIndexChanged="ddlUser_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
<p class="help-block text-danger"></p>
</div>
</div>
var a = 1;只是为了让我可以在那里放一个断点。
protected void ddlUser_SelectedIndexChanged(object sender, EventArgs e)
{
var a = 1;
}
下面是ajax请求和grid的生成
function getUsers() {
var department = $('select#MainContent_ddlDepartment option:selected').val();
$.ajax({
type: "GET",
url: "WEBSERVICEURL" + department + "",
contentType: "json",
dataType: "json",
async: false,
success: function (data) {
var ddlUsers = $("#MainContent_ddlUser");
ddlUsers.empty();
$.each(data, function () {
ddlUsers.append($("<option></option>").val(this['SamAccountName']).html(this['DisplayName']));
});
},
error: function (xhr) {
}
})
}
谢谢
【问题讨论】:
-
您的 asp.net 控件是否位于带有 runat=server 的 asp:form 中?
-
@ZaidAlShatle 是的
标签: javascript c# jquery asp.net ajax