jQuery填充的下拉列表在ASP .net后端没有获得价值

时间:2015-06-09 13:57:38

标签: javascript asp.net ajax

我的前端代码:    

            <asp:DropDownList ID="txtBoxBankCountry"  runat="server" ClientIDMode="Static">
                <asp:ListItem Value="-1" Text="--Select Country--"></asp:ListItem>               
            </asp:DropDownList>

通过ajax我将其中的国家添加到其中:

$.ajax({
            type: "POST",
            url: "Registration.aspx/getCountryData",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                //alert(data.d);
                var countries = jQuery.parseJSON(data.d);
                var option = "<option value='-1'>--Select Country--</option>";
                for (var i = 0; i < countries.length; i++) {
                    option += "<option value='" + countries[i].location_id + "'>" + countries[i].name + "</option>";
                }

                $('#txtBoxBankCountry').html(option);

            },
            error: function (data) {
                alert(data.d);
            }
        });

现在,当我在后端获取数据时,它只获取值“ - 选择国家 - ”。

我在stackoverflow上读到并且知道当我们使用ajax在下拉列表中附加数据时,后端不知道它。它只能到达 asp:ListItems

如何解决此问题并获取正确的选定文字。我不能使用回发作为刷新页面,我不希望这样。

我的后端代码:

string bankCountry = txtBoxBankCountry.SelectedItem.Text;

1 个答案:

答案 0 :(得分:1)

您无需从jQuery AJAX调用中填充您的下拉列表,您只是在Web窗体世界中让您头疼。

要实现这一目标,您最好使用优质的时尚Microsoft Ajax。相反,将您的html放在UpdatePanel内,然后填充服务器上的下拉列表,然后自动重新填充下拉列表。

使用UpdatePanel时有一个很好的教程here