在后面的代码中通过jquery添加列表框项的问题

我有一个asp.net列表框控件,其中我使用Jquery使用一些代码来填充项目,例如.. $("#MylistBox").append("Someitem

动态的。 但是在我使用MylistBox.Items代码背后,无论添加多少项,总是显示Count 0

任何人都可以帮我吗?

在不知道实际场景的情况下…我假设你的目标实际上是通过迭代它们或其他东西来获得动态添加的项目……

使用JavaScript / jQuery在客户端完成的任何动态添加的DOM元素都不会自动反映到服务器端。 您需要以不同的方式对它们进行序列化,并在回发期间将它们推回到服务器端。 一种方法是通过序列化隐藏输入中Select元素的所有选项。 如果您希望更容易访问,可以将隐藏输入标记为runat = server,否则请使用Request.Form [“…隐藏输入NAME属性此处… NOT ID …”]以获取超值。 获得它之后,您可以使用值执行任何操作。

我想你的隐藏输入应该有一些价值,如:“1:第一个值,2:第二个值,3:……”。 只需做一些字符串操作就可以将它们拆分并迭代它们。

后面的代码只会知道在服务器上创建时添加到Listbox对象的项目。 这些项目将保存在ViewState中,并在回发期间重新填充。
因此,在客户端上动态创建的项目对服务器端代码不可见。
如果您需要在服务器端代码中获取所选值,那么您将需要在回发期间查询Request.Form[""]值。
如果您需要检索添加到客户端列表框中的所有项目,我建议将它们全部添加到隐藏字段值作为分隔的字符串数组,并再次使用Request.Form[""].检索它们Request.Form[""].