从已填充了AJAX的下拉列表中获得价值 [英] Getting value from a dropdown list that was populated with AJAX

查看:193
本文介绍了从已填充了AJAX的下拉列表中获得价值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经填充了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]
 

这<一href="http://stackoverflow.com/questions/13320761/how-to-get-dropdown-selecteditem-value-in-server-side-when-i-created-option-in-c">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.

这篇关于从已填充了AJAX的下拉列表中获得价值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆