从已填充了AJAX的下拉列表中获得价值价值、列表中、AJAX

2023-09-03 02:11:07 作者:娇软甜

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

这是我的webmethod

  

[WebMethod的()]

 公共静态的ArrayList GetLanguageList()
    {
        ArrayList的lstArrLanguage =新的ArrayList();

        IQueryable的< Common.Town> myList上=新SupplierBL()GetTowns()。

        的foreach(在myList中Common.Town T)
        {
            字符串名称= t.Name;
            字符串ID = t.TownId.ToString();
            lstArrLanguage.Add(新列表项(姓名,身份证));
        }

        返回lstArrLanguage;
    }
 

我的Test.aspx的code

 < SCRIPT LANGUAGE =JavaScript的类型=文/ JavaScript的>
        $(文件)。就绪(函数(){
            $阿贾克斯({
                键入:POST,
                网址:Test.aspx的/ GetLanguageList
                数据: '',
                的contentType:应用/ JSON的;字符集= UTF-8,
                数据类型:JSON,
                成功:函数(MSG){
                    $(#ddlLanguage)空()追加($(<选项>< /选项>中)VAL([ - ])HTML(请选择)。)。
                    $每个(msg.d,函数(){
                        $('#<%=ddlLanguage.ClientID%>').append($("<option></option>").val(this['Value']).html(this['Text']));
                    });
                },
                错误:函数(){
                    警报(在处理您的请求时发生错误。);
                }
            });
        });

    &LT; / SCRIPT&GT;
 
如何获取另一个页面中下拉列表中的值,而不是索引

解决方案

你不能选择的值从的DropDownList 如果您在添加选项的javaScript 。你可以尝试以下

 串了selectedValue =的Request.Form [ddlLanguage.UniqueID]
 

这question可能也是有用的。

I had populated an ASP.net dropdown list with AJAX now I need to get the Id to store in into the database in a C# method, (I'm using LINQ)

This is my webmethod

[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;
    }

My test.aspx code

        <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>

解决方案

You can't get selected value from DropDownList if you adding options in javaScript. You can try the following

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

This question may be useful also.