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

因此,我的页面上有一个dropDownList,其中包含数百个项目。用户可以通过在文本框中键入一些文本来过滤此DDL。然后对DDL进行相应的过滤(所有不包含输入文本的项目都将通过JavaScript删除)。然后,用户选择他的项目并按下按钮。通常,这将导致错误,因为DDL已更改并且ASP验证了PostBack数据。但是,使用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);  

    });

});

我已经使用clas名称选择器,因为aspnet中的ID是自动生成的。在服务器端获得价值
hdnSelectedItem.Value,并从服务器上维护的项目/数据库列表中提取。

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

asp.net:treeview-显示文本框是否选中? - c#

我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框。我想做的是向用户显示一个TREEVIEW,每个节点都是字符串之一。他们将通过选中复选框来选择所需的每个字符串。问题:如果用户选择特定的复选框,则我需要一个文本框来显示用户的GET输入。问题:如何从用户使用树形视图获取字符串输入? 参考方案 Tr…

asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示: Name Email A [email protected] B [email protected] B C@gmai…

ASP.NET MVC在控制器中实施分析 - c#

我有这个控制器public ActionResult Download(Guid? codice) { if (codice == null) { return HttpNotFound(); } string _pathfile = "path-to-file"; byte[] fileBytes = System.IO.File.Re…