[英]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.