从使用AJAX填充的下拉列表中获取值

我已经使用AJAX填充了ASP.net下拉列表,现在我需要使用C#方法将Id存储到数据库中,(我正在使用LINQ)

这是我的webmethod

[WebMethod] public static ArrayList GetLanguageList() { ArrayList lstArrLanguage = new ArrayList(); IQueryable myList = new SupplierBL().GetTowns(); foreach(Common.Town t in myList) { string name = t.Name; string id = t.TownId.ToString(); lstArrLanguage.Add(new ListItem(name, id)); } return lstArrLanguage; } 

我的test.aspx代码

  $(document).ready(function () { $.ajax({ type: "POST", url: "test.aspx/GetLanguageList", data: '', contentType: "application/json; charset=utf-8", dataType: "json", success: function (msg) { $("#ddlLanguage").empty().append($("").val("[-]").html("Please select")); $.each(msg.d, function () { $('#').append($("").val(this['Value']).html(this['Text'])); }); }, error: function () { alert("An error has occurred during processing your request."); } }); });  

如果在javaScript添加选项,则无法从DropDownList获取选定值。 您可以尝试以下方法

 string selectedValue = Request.Form[ddlLanguage.UniqueID]; 

这个问题也可能有用。

如果您通过ajax填充下拉列表的值比在服务器端上不可用,因为页面在ajax请求期间不回发。

为了获得C#中的下拉值,请使用以下代码段:

 String _value = Convert.ToString(Request[ddlLanguage.ClientID]); 

希望这会有所帮助!!