在表中插入记录时将所选值作为城市下拉列表的空值

本文关键字:城市 下拉列表 空值 插入 记录 | 更新日期: 2023-09-27 18:34:50

我有 2 个下拉控件 州和城市,我正在使用 ajax jquery 填充城市下拉列表通过从服务器端调用 Web 方法,但在提交事件中,我没有获得选定的值。

这是我的代码:

<asp:DropDownList ID="ddlState" runat="server" onchange=" LoadCity();"></asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server"></asp:DropDownList>

function LoadCity() {
    var select = document.getElementById("<%= ddlState.ClientID %>");
       var id = select.options[select.selectedIndex].value;
       $.ajax({
           url: "/Abc.aspx/LoadCity",
           type: "POST",
           contentType: "application/json; charset=utf-8",
           data: '{stateId: "' + id + '"}',
           contentType: "application/json",
           success: function (responce) {
               var html = '<option value="0">Select City</option>';
               $(responce.d).each(function () {
                   html += '<option value="' + this.Value + '">' + this.Text + '</option>'
               });
               $(document.getElementById("<%= ddlCity.ClientID %>")).html(html);
            }
    });

[WebMethod]
public static List<ListItem> LoadCity(int stateId)
{
    var data = this.ReturnCity(stateId);
    return data;
}
 public List<ListItem> ReturnCity(int stateId)
 {
     var data = context.CityMasters.Where(t => t.StateId == stateId).ToList()
                          .select(t=> new ListItem {Text=t.Name,Value=t.Id.ToString()}).ToList();
     return data;
 }

但是现在当我获得城市下拉列表的选定值时,我得到的是空值:

protected void Save_Click(object sender, EventArgs e)
{
    var cityId=ddlCity.SelectedValue;//Getting null here;
}

谁能告诉我为什么会发生这种情况以及如何在保存事件时获得选定的城市值???

在表中插入记录时将所选值作为城市下拉列表的空值

尝试使用jquery..

var selectedcity = $(select).val();

注意:

您没有告诉我们有关保存事件的任何信息或向我们展示其代码,上面的代码行只是从您的城市下拉列表中获取当前选择的值。