无法使用PageMethods在服务器端获取选定的下拉列表值

时间:2013-05-07 05:28:21

标签: c# asp.net pagemethods

我使用PageMethods绑定了下拉列表。

function BindDist() {
            var RegID = $("#ContentPlaceHolder1_ddlRegionalD option:selected").val();
            PageMethods.BindDistricts(RegID, OnSuccess);
        }

        function OnSuccess(result) {
            $("select[id$=ContentPlaceHolder1_ddlDistrictD] > option").remove();
            for (var i = 0; i < result.length; i++) {
                var option = document.createElement('option');
                option.value = result[i].DistrictId;
                option.textContent = result[i].DistrictNum;
                document.getElementById('ContentPlaceHolder1_ddlDistrictD').options.add(option);
            }
        }

选择下拉列表后,无法获取所选项目值,但能够在我的页面的UI中查看这些值。

请帮助我......!

2 个答案:

答案 0 :(得分:1)

这是因为您在客户端和服务器端添加项目的下拉列表是空的。你可以有一个隐藏的输入:

<input type="hidden" id="selectedValue" runat="server" />

当下拉列表的值发生变化时更改其值:

$('#MyDropdown').change(function () {
    $('#selectedValue').val($(this).val());
}

在服务器上,您可以读取隐藏输入的值。

答案 1 :(得分:0)

我有两个问题给你......

  1. 为什么要按照发布的方式绑定下拉列表 代码?

  2. 在什么情况下您没有获得所选的值     下拉?