我的前端代码:
<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;
答案 0 :(得分:1)
您无需从jQuery AJAX调用中填充您的下拉列表,您只是在Web窗体世界中让您头疼。
要实现这一目标,您最好使用优质的时尚Microsoft Ajax。相反,将您的html放在UpdatePanel
内,然后填充服务器上的下拉列表,然后自动重新填充下拉列表。
使用UpdatePanel
时有一个很好的教程here。