[英]Add/Remove items from one ListBox control to another ListBox control in ASP.NET from the client-side
我正在将Itmes从一个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中没有任何内容。
在控件上进行的Java修改不会显示在服务器端。 我认为这与asp.net生活圈有关。 但是,它显示在隐藏字段中。 因此,如果您要在其他隐藏字段中添加信息,则可以在服务器端进行跟踪,例如,可以在隐藏字段中保存ID或选项名称。
即使它显示在客户端,它也不会提交给服务器,服务器中的值也不会更新。您是否正在执行任何操作来更新列表,例如运行update db sql?
如果要使用页面外提交来执行此操作,请使用Ajax。
恐怕您将需要使用更新面板来允许服务器跟踪控件的视图状态更改。
服务器端:
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.