使用jquery的C#下拉访问问题

C# drop down access issue using jquery

本文关键字:访问 问题 jquery 使用      更新时间:2024-06-12

我在从后面的c#代码访问下拉项时遇到问题

场景:我正在使用jquery/ajax调用修改基于用户选择的下拉列表。当从代码后面访问下拉项时,它仍然保留旧列表。

请帮助从c#代码后面访问更新的下拉列表。

样本代码

Jquery代码:

$.ajax({
            type: 'POST',
            url: "Search.aspx/LoadNewOptions",
            contentType: 'application/json;charset=utf-8;',
            dataType: "json",
            data: "",
            success: function (data) {
                 $("#dropdown").empty();              
                $($.parseJSON(data.d)).each(function () {
                    var Option = $('<option />');
                   xOption.attr('value', this.value).text(this.label);
                    $('#dropdown').append(Option);
                    }
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });

C#代码背后的代码:

dropdown.SelectedItem.Value.Trim()   // returns old value

备选解决方案:创建了单独的javascript函数,并将选定的项值存储在隐藏变量中。从代码隐藏访问隐藏变量没有问题。

服务器不知道客户端发生了什么,除非你告诉它。

看起来您正在动态地将元素添加到下拉列表中。如果您在页面下一次执行时重新绑定列表,它不会知道您已经在客户端上对其进行了修改。

  • 隐藏字段适用于简单情况

  • 您可以检查POST,看看它是否包含列表中不存在的值,如果是,请将其添加到

旧值没有更改的原因是服务器端不知道新值。除非您将其发布回服务器,否则它将不可见。