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

本文关键字:下拉列表 获取 服务器端 PageMethods | 更新日期: 2023-09-27 18:12:28

我使用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中看到这些值。

请帮帮我…!

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

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

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

并在下拉框的值发生变化时改变其值:

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

在服务器端读取隐藏输入的值

我有两个问题要问你…

  1. 为什么你要用你发布的方式绑定下拉菜单的代码吗?

  2. 在什么事件中你没有得到选择的值下拉?