使用 jQuery .appendTo 后项目未添加到 ListBox

2023-12-30

前言:第一次真正使用JavaScript + jQuery,所以我的问题可能源于缺乏理解。

我有一些非常简单的 Javascript 将元素从一个列表框移动到另一个列表框:

$('[id$=AddRole]').click(function () {
  $('[id$=MissingRoles] option:selected').appendTo('[id$=Roles]');
  return false;
});

$('[id$=RemoveRole]').click(function () {
  $('[id$=Roles] option:selected').appendTo('[id$=MissingRoles]');
  return false;
});

这效果非常好 - 当我单击按钮时,一个列表中的项目会如您所期望地移动到另一个列表中。极好的!然后单击一个按钮强制回发。在代码的 if (IsPostBack) 部分中,我提取“角色”ItemCollection 并打印每个项目,假设看到我添加的任何新项目。遗憾的是,我只获得了数据绑定到列表的原始项目。我的 DataBind 不会意外出现在 IsPostBack 部分中,所以我知道我不是简单地重新绑定。

我假设我在这里错过了一步。我需要做些什么来告诉 .NET 实际更新 ListBox 的内容吗?猜测 jQuery 所做的一切纯粹是为了美观,但我不知道如何将其更改提交给我的控件。


这实际上是一个限制,因为 .NET 假定一切都保持其最初提供的方式。如果站点呈现一个文本框,它就会知道该值可能已更改,并根据 POST 数据更新其值。例如,如果它呈现一个禁用的文本框,它“知道”该值不能更改,因此,即使 javascript 启用了该文本框,您也将无法获取更改后的文本。

同样的事情也发生在这里。 .NET 假设它已经知道哪些项目属于哪个列表。所选值始终发布在 Request.Form 集合中,因此即使 .NET 列表框控件中的值没有更改,您仍然可以通过这种方式获取值(Request.Form[myListBox.ClientID]),但在任何列表框中未选择的值不会作为表单数据传递,因此从技术上来说,服务器实际上无法在提交列表框之前知道您以何种方式篡改了列表框。

你要做的不是很漂亮,但这是唯一的方法。在两个移动数据的函数中,您必须确保它们也更新隐藏字段。它可以是每个列表框的一个隐藏字段,也可以是包含所有列表框项目的逗号分隔值的一个隐藏字段,在所有列表框的管道分隔列表中,或者您想要表示数据的任何一种方式,但在列表的末尾有一天,您确实必须手动制作不同列表框中数据的字符串表示形式,您可以在服务器端获取该字符串,然后使用新的相关数据重新绑定列表框。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jQuery .appendTo 后项目未添加到 ListBox 的相关文章

随机推荐

  • RSpec:如何存根继承的方法 current_user (无需设计)?

    我有一个基于 MHartl 的控制器RoR4 教程 http www railstutorial org book single page 就像 MHartl 一样 我没有使用设计 I 推出了我自己的身份验证系统 http www rail
  • UIImagePickerController 快门

    I have bug with UIImagePickerController which source type is camera Sometimes after controller appeared shutter is not o
  • 实现 π (pi) 的 Spigot 算法

    我很难理解插口算法找到 pi here http www cut the knot org Curriculum Algorithms SpigotForPi shtml在页面底部 我在第 2 部分 将 A 放入常规形式 的底部迷失了方向
  • 如何在 C# 中的随机端口上创建 HttpListener 类?

    我想创建一个在内部提供网页服务的应用程序 并且可以在同一台计算机上的多个实例中运行 为此 我想创建一个HttpListener监听的端口是 随机选择 目前未使用 本质上 我想要的是这样的 mListener new HttpListener
  • 如何设置新创建的 emacsclient 的样式和位置?

    我最近改用 emacsclient 进行大部分文本编辑 我正在尝试将一些设置迁移到新的 略有不同的 环境 特别是 在我的 emacs 文件中 我有一个设置窗口大小并准备一些主题的函数 但是 emacs 文件中的代码不会在每次调用 emacs
  • 如何在 AppEngine Standard 和 Nodejs 中提供静态文件

    The 文档 https cloud google com appengine docs standard nodejs serving static files表示您只需更新您的 app yaml 就像 AppEngine 中的任何语言一
  • MongoDB:将多个集合中的数据合并为一个......如何?

    我如何 在 MongoDB 中 将多个集合中的数据合并到一个集合中 我可以使用map reduce吗 如果可以的话怎么办 因为我是新手 所以我非常感谢一些例子 MongoDB 3 2 现在允许人们通过以下方式将多个集合中的数据合并为一个集合
  • 测试 SQL Server 连接

    我构建了一个基于 Excel 的工具 它使用 ODBC 连接和查询表从 SQL Server 2014 提取数据 该工具必须与 Mac Office 2016 兼容 因此需要 ODBC 和查询表 我正在努力测试用户是否可以连接到 SQL S
  • 将两个多边形区域合并为R中的单个多边形区域

    我是 R 中处理空间数据和多边形的新手 我有两个独立的形状文件 包含从 Google 地球中提取的两个多边形 因此 基本上第一个形状文件是一个位置 例如购物中心等 第二个形状文件是第一个位置周围三公里的半径 我将两个形状文件作为 Spati
  • Glade:如何在 GtkAssistant 中编辑页面

    我想将内容添加到 Glade 中的助手窗口 GtkAssistant 的页面中 当我添加新助手时 GtkAssistant 下没有出现任何子项 此外 我无法选择 或删除或更改 Glade 生成的 3 个默认页面的内容 我只能选择助手本身 因
  • 使用 groovy 修改 Soap UI 请求

    我们需要查找当前国家 地区的经销商数量 在下面的 xml 请求中 每个请求的键值对都会有所不同 Soap 请求的输入将在 txt 文件中给出 根据 txt 文件中的输入数量 我需要动态生成键值对 xml 标签 Format of Input
  • 使用python计算矢量投影

    有没有更简单的命令来计算矢量投影 我改为使用以下内容 x np array 3 4 0 y np array 10 5 6 z float np dot x y z1 float np dot x x z2 np sqrt z1 z3 z
  • 当我尝试登录注册用户并通过解析启用推送通知时,我的应用程序崩溃

    我正在尝试通过解析启用推送通知 如果已经有用户缓存并登录到应用程序 则解析通知代码将起作用 但是 如果我注销并尝试注册新用户 应用程序就会崩溃 并且收到一条错误消息 NSInvalidArgumentException 原因 不能对 PFO
  • 我应该如何解释稀疏_分类_交叉熵函数的输出?

    作为输入 a 具有浮点数 1 0 或 0 0 当我尝试用我的模型和sparse categorical crossentropy损失我得到类似的东西 0 4846592 0 5153408 我如何知道它预测什么类别 您看到的这些数字是给定输
  • 从对象数组中删除相同的值

    我想通过比较 2 个数组来从数组中删除相同的对象 样本数据 arr1 id 1 name a id 2 name b id 3 name c id 4 name d arr2 id 1 name a id 4 name d let newA
  • 如何在android中的videoview中播放rtmp视频?

    我想在 videoview 中播放 rtmp 视频 那么如何在我的应用程序中播放 rtmp 视频 String host rtmp example com String fileName www mp4 int port 1935 Conn
  • 有没有办法禁用 Coq 中的特定符号?

    我希望在 Coqide 中 证明状态不使用某种符号 但仍使用所有其他符号 这可能吗 据我在文档中的理解 这是不可能的 您也许可以使用打开 关闭范围 但我不确定它是否有效 因为明确指出只要有可能 符号将用于打印
  • BigQuery - 从 JAVA API 加载时出现后端错误

    我在尝试使用 JAVA API 设置加载作业时收到 503 后端错误 我尝试加载的文件位于 Google Cloud Storage 上 如果我尝试从 BigQuery Web 界面加载数据 并告知我要从 Google Cloud Stor
  • Rails 将 html 转换为图像

    我正在寻找一种将 html 标签动态转换为图像的方法 这意味着 我希望能够创建一个 image tag 其中包含返回从 html 创建的图像的方法的路径 我一直在寻找解决方案 但找不到合适的方法来解决这个问题 有任何想法吗 Maechi I
  • 使用 jQuery .appendTo 后项目未添加到 ListBox

    前言 第一次真正使用JavaScript jQuery 所以我的问题可能源于缺乏理解 我有一些非常简单的 Javascript 将元素从一个列表框移动到另一个列表框 id AddRole click function id MissingR