4

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

这是我的网络方法

[WebMethod]
public static ArrayList GetLanguageList()
{
    ArrayList lstArrLanguage = new ArrayList();
     IQueryable<Common.Town> 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 代码

<script language="javascript" type="text/javascript">
    $(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($("<option></option>").val("[-]").html("Please select"));
                $.each(msg.d, function () {
                     $('#<%=ddlLanguage.ClientID%>').append($("<option></option>").val(this['Value']).html(this['Text']));
                });
            },
            error: function () {
                alert("An error has occurred during processing your request.");
            }
        });
    });
</script>
4

2 回答 2

7

DropDownList如果您在javaScript. 您可以尝试以下方法

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

这个问题也可能有用。

于 2013-01-26T16:09:08.740 回答
0

If you populate the value of dropdown via ajax than it can't be available on Server Side because the page doesn't postback during ajax request.

In order to get the value of dropdown in C# use below snippets :

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

Hope this will help !!

于 2013-01-26T15:31:38.403 回答