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

请帮帮我…!

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

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

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

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

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

我有两个问题要问你…

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

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

相关内容

  • 没有找到相关文章

最新更新