gpt4 book ai didi

c# - Asp.Net:在服务器端恢复DropDownList的客户端SelectedItem

转载 作者:行者123 更新时间:2023-12-03 12:18:29 25 4
gpt4 key购买 nike

所以我的页面上有一个 dropDownList,其中包含数百个项目。用户可以通过在文本框中键入一些文本来过滤此 DDL。然后,DDL 会被相应地过滤(所有不包含输入文本的项目都将通过 JavaScript 删除)。然后用户选择他的项目并按下按钮。通常,这会导致错误,因为 DDL 已被更改并且 ASP 会验证回发数据。但是,使用 EnableEventValidation="false"您可以关闭此行为,页面就会正确提交。但是(这就是我的问题):DDL 的 SelectedIndex 在服务器端始终为“0”,因此 SelectedItem 是错误的。显然,客户端的更改被忽略了。有人知道如何获得正确的 SelectedItem 吗?或者有更好的方法来过滤 DDL 并维护正确的 SelectedItem?

最佳答案

当用户按下按钮时,使用 jQuery 获取下拉列表的当前值并将其设置在页面上的隐藏字段中,给隐藏字段 runat="server",以便当它回发时您将获得所选的值。例如

    <asp:DropDownList class="myList"></asp:DropDownList>
<asp:Button class="btn"/>
<input type="hidden" id="hdnSelectedI" runat="server" class="hiddenControl">

$(document).ready(function(){

$(".btn").click(function(){

var selectedItem = $(".myList").val();
$(".hiddenControl").val(selectedItem);

});

});

我使用了类名称选择器,因为 aspnet 中的 id 是自动生成的。在服务器端获取值hdnSelectedItem.Value ,并从服务器上维护的 items/db 列表中提取。

关于c# - Asp.Net:在服务器端恢复DropDownList的客户端SelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com