C# 在jQuery附加到asp:Listbox后,无法在代码隐藏中获取值

C# 在jQuery附加到asp:Listbox后,无法在代码隐藏中获取值,c#,jquery,asp.net,jquery-ui,C#,Jquery,Asp.net,Jquery Ui,我已经创建了2个asp:listbox。。。asp:ListboxFrom和asp:ListboxTo。当我双击ListboxFrom上的项目时,它会将项目附加到ListboxTo。。。所以在这之前一切都很顺利。但是当我点击submit按钮处理所有内容时,我并没有在我的代码中为列表框找到所选的项目。我在Page_Init和Page_load上进行了调试,但它恢复了默认的controlstate值。。。。那么我现在错过了什么 1如何获取代码隐藏中的值?因此,asp:listbox的状态与添加客户端

我已经创建了2个asp:listbox。。。asp:ListboxFrom和asp:ListboxTo。当我双击ListboxFrom上的项目时,它会将项目附加到ListboxTo。。。所以在这之前一切都很顺利。但是当我点击submit按钮处理所有内容时,我并没有在我的代码中为列表框找到所选的项目。我在Page_Init和Page_load上进行了调试,但它恢复了默认的controlstate值。。。。那么我现在错过了什么

1如何获取代码隐藏中的值?因此,asp:listbox的状态与添加客户端代码时的状态相同。 2另一个问题:当它附加到ListboxTo时,默认选中的项目为蓝色。我怎样才能避免这种情况

谢谢你的帮助

下面是我在aspx中使用的简单JQuery代码

  <asp:ListBox ID="listboxFrom" SelectionMode="Multiple" />
  <asp:ListBox ID="listboxTo" SelectionMode="Multiple" />


   $(function() {
    $('select[id$=dnn_ctr658_ViewAgenda_Invoer_listboxFrom]').bind("dblclick", function() {
        $("select[id$=dnn_ctr658_ViewAgenda_Invoer_listboxFrom] option:selected").appendTo("#dnn_ctr658_ViewAgenda_Invoer_listboxTo");
    });

    $('select[id$=dnn_ctr658_ViewAgenda_Invoer_listboxTo]').bind("dblclick", function() {

        $("select[id$=dnn_ctr658_ViewAgenda_Invoer_listboxTo] option:selected").appendTo("#dnn_ctr658_ViewAgenda_Invoer_listboxFrom");
    });
});

这是安全问题。我想知道为什么aspnet不会对未经授权的元素操作抛出警告异常


您必须创建自定义元素或使用hiddenfield。但请非常小心地使用数据,每个人都可以在客户端更改的列表。每个人都可以在你的下拉列表中插入项目并将其选中

这是一个安全问题。我想知道为什么aspnet不会对未经授权的元素操作抛出警告异常


您必须创建自定义元素或使用hiddenfield。但请非常小心地使用数据,每个人都可以在客户端更改的列表。每个人都可以在你的下拉列表中插入项目并将其选中

嗨,卢克,谢谢你的回答。但这是很自然的事情。我有两个asp:listbox。我不想回发,所以当他们双击ListboxTo中移动到ListboxTo的项目时,我使用jQuery。所以问题是:既然一切都在客户端更改了,那么如何将ListboxFrom和ListboxTo上的更改隐藏在服务器端代码中。。。你说的安全问题和希登菲尔德是什么意思?我不明白这个。。。谢谢你的回复。。。或者让我问一下:你不想回发邮件。如何将项目从ListboxFrom移动到ListboxTo而不进行回发,并在后面的代码上进行更改否,这就像在服务器上创建到下拉列表一样,数据保存在viewstate中,下拉列表中的项目计数以及项目本身。然后,当您发回邮件时,它们将被复制。将项目从下拉列表移动到下拉列表或列表框是不自然的。因为每个小黑客都可以插入他想要的数据。。。您必须将移动操作保存在某个位置,例如在hiddenfield中,并在服务器端复制该操作。那么您的意思是我需要创建一个hieden字段吗。当附加到rightbox时,我还需要将selecteditem附加到这个hiddenfield。正当当我回发时,我是否从这个hiddenfield获取值?是吗?是的,尽你所能保护他们!!检查复制了哪些项目,以及这些项目是否都存在于您的主集合中,这样就没有人可以创建自定义项目。它们会保存在你的服务器上。嗨,卢克,谢谢你的回答。但这是很自然的事情。我有两个asp:listbox。我不想回发,所以当他们双击ListboxTo中移动到ListboxTo的项目时,我使用jQuery。所以问题是:既然一切都在客户端更改了,那么如何将ListboxFrom和ListboxTo上的更改隐藏在服务器端代码中。。。你说的安全问题和希登菲尔德是什么意思?我不明白这个。。。谢谢你的回复。。。或者让我问一下:你不想回发邮件。如何将项目从ListboxFrom移动到ListboxTo而不进行回发,并在后面的代码上进行更改否,这就像在服务器上创建到下拉列表一样,数据保存在viewstate中,下拉列表中的项目计数以及项目本身。然后,当您发回邮件时,它们将被复制。将项目从下拉列表移动到下拉列表或列表框是不自然的。因为每个小黑客都可以插入他想要的数据。。。您必须将移动操作保存在某个位置,例如在hiddenfield中,并在服务器端复制该操作。那么您的意思是我需要创建一个hieden字段吗。当附加到rightbox时,我还需要将selecteditem附加到这个hiddenfield。正当当我回发时,我是否从这个hiddenfield获取值?是吗?是的,尽你所能保护他们!!检查复制了哪些项目,以及这些项目是否都存在于您的主集合中,这样就没有人可以创建自定义项目。它们将保存在您的服务器上。