【问题标题】:Add/Remove items from one ListBox control to another ListBox control in ASP.NET from the client-side从客户端从一个 ListBox 控件添加/删除项目到 ASP.NET 中的另一个 ListBox 控件
【发布时间】:2010-10-10 18:25:02
【问题描述】:

我正在从客户端将项目从一个 ASP.NET ListBox 控件移动到另一个 ListBox 控件。它适用于客户端,但是当我尝试计算项目时 目标 ListBox 在服务器端,它总是什么都没有。下面是用于在 ListBox 控件中添加/删除项目的 jQuery 代码。

<script type="text/javascript">
    $(document).ready(function(addToList) {
    // to move selected item from lbSource to lbDestination
    $("#add").click(function() {
    $("#lbSource  option:selected").appendTo("#lbDestination").attr("selected", false);
    });

    // to remove selected item from lbDestination to lbSource
    $("#remove").click(function() {
    $("#lbDestinaion option:selected").appendTo("#lbSource").attr("selected", false);
    });
});
</script>

我知道我们可以从服务器端的 ListBox 中添加/删除项目。但我想从客户端完成它。

为什么在从代码隐藏中计算项目时目标 ListBox 中没有任何内容,即使项目已经从客户端添加。

【问题讨论】:

    标签: javascript asp.net jquery viewstate listboxitem


    【解决方案1】:

    对控件进行的 Javascript 修改不会显示在服务器端。我认为这与asp.net生活圈有关。但是它显示在隐藏字段中。 因此,如果您将在其他隐藏字段中添加信息,您可以在服务器端对其进行跟踪,例如,您可以在隐藏字段中保存选项的 ID 或名称。

    【讨论】:

      【解决方案2】:

      即使它显示在客户端,它也没有提交到服务器,服务器中的值也没有更新。您是否正在执行任何操作来更新列表,例如运行 update db sql??

      如果您想在没有页面提交的情况下执行此操作,请使用 Ajax。

      【讨论】:

        【解决方案3】:

        恐怕您需要使用更新面板来允许服务器跟踪控件的视图状态更改。

        服务器端:

        protected void btnMove_OnClick(object sender, EventArgs Args)
        {
            ListItem SourceItem = bSource.SelectedItem;
        
            lbDestination.Items.Add(SourceItem );
            lbSource.Items.Remove(SourceItem);
        }
        

        标记:

        <asp:UpdatePanel ChildrenAsTriggers="true" runat="Server">
            <ContentTemplate>
        
            <asp:ListBox ID="lbSource" runat="server"/>
            <asp:Button ID="btnMove" OnClick="btnMove_OnClick" runat="server"/>
            <asp:ListBox ID="lbDestination" runat="server"/>
        
            </ContentTemplate>
        </asp:UpdatePanel>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-03
          • 1970-01-01
          • 2013-07-07
          • 1970-01-01
          相关资源
          最近更新 更多