【问题标题】:can't get value in code-behind after jQuery appends to asp:ListboxjQuery 附加到 asp:Listbox 后无法在代码隐藏中获取值
【发布时间】:2011-02-22 15:53:28
【问题描述】:

我创建了 2 个 asp:listbox... asp:ListboxFrom 和 asp:ListboxTo。当我双击 ListboxFrom 上的项目时,它会将项目移动(附加)到 ListboxTo... 所以直到这里一切正常。但是,当我单击提交按钮来处理所有内容时,我没有在列表框的代码隐藏中获得选定的项目。我在 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");
    });
});

【问题讨论】:

    标签: c# jquery asp.net jquery-ui


    【解决方案1】:

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

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

    【讨论】:

    • 嗨,卢克,感谢您的回答。但这是很自然的事情。我有 2 个 asp:listbox。我不想做回发,所以当他们双击 ListboxFrom 上移动到 ListboxTo 的项目时,我使用 jQuery。所以问题是:既然一切都在客户端发生了变化,如何才能在服务器端(代码隐藏)上获得 ListboxFrom 和 ListboxTo 的变化......你是什么意思安全问题和隐藏字段?我不明白...感谢您的回复...或者让我问这个:您不想回发。您如何在不回发的情况下将项目从 ListboxFrom 移动到 ListboxTo 并在代码隐藏上进行更改
    • 不,就像您在服务器上创建下拉菜单一样,数据保存在视图状态中,下拉列表中的项目数和项目本身。然后在您回发时复制它们。将项目从下拉列表移动到下拉列表或列表框根本不自然。因为每个小黑客都可以插入他想要的数据......您必须将“移动”动作保存在某个地方,例如隐藏字段,并在服务器端重现该动作。
    • 所以你的意思是我需要创建一个 隐藏字段。并且当附加到右框时,我还需要将选定项附加到这个隐藏字段。正确的?当我进行回发时,我会从这个隐藏字段中获取值吗?对吗?
    • 是的,尽可能多地验证它们!!检查复制了哪些项目,以及这些项目是否都存在于您的主收藏中,因此没有人可以创建自定义项目。它们将保存在您的服务器上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 2014-04-10
    • 2013-12-30
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 2018-09-02
    相关资源
    最近更新 更多