2010-08-13 56 views
0

可以任何機構解釋我如何保存狀態的兩個列表框回發我使用這種jQuery我不知道什麼事件我應該做什麼或我可以保存視圖狀態或如何可以我使用hiddenField堅持兩個列表框中listBox和jquery

<script language="javascript" type="text/javascript"> 
     $(document).ready(function() { 
      //If you want to move selected item from fromListBox to toListBox 
       $("#add").click(function() { 
        $("#"+'<%= fromListBox.ClientID %>'+" option:selected").appendTo("#"+'<%=toListBox.ClientID %>'); 
       }); 
       //If you want to move all item from fromListBox to toListBox 
       $("#addAll").click(function() { 
        $("#"+'<%= fromListBox.ClientID %>'+" option").appendTo("#"+'<%=toListBox.ClientID %>'); 
      }); 
       //If you want to remove selected item from toListBox to fromListBox 
       $("#remove").click(function() { 
        $("#"+'<%=toListBox.ClientID %>'+" option:selected").appendTo("#"+'<%= fromListBox.ClientID %>'); 
       }); 
       //If you want to remove all items from toListBox to fromListBox 
       $("#removeAll").click(function() { 
        $("#"+'<%=toListBox.ClientID %>'+" option").appendTo("#"+'<%= fromListBox.ClientID %>'); 
       }); 

      }); 
        </script> 

<asp:ListBox ID="fromListBox" runat="server" SelectionMode="Multiple" Height="150px" Width="150px" > 

<asp:ListItem Text="Student Enrollment ID" Value="enrollment_no"></asp:ListItem> <asp:ListItem Text="Student Name" Value="first_name"></asp:ListItem> <asp:ListItem Text="Last Name" Value="last_name"></asp:ListItem> <asp:ListItem Text="Father Name" Value="father_name"></asp:ListItem> 

</asp:Listbox> 

<asp:ListBox runat="server" ID="toListBox" ></asp:ListBox> 
+0

remaiing代碼是這個 的 < asp:listBox> – NoviceToDotNet 2010-08-13 13:40:45

+0

我想持續兩個列表框的價值,當我鬆散它pleasse建議我一個適當的解決方案 – NoviceToDotNet 2010-08-13 13:42:15

+0

你是否發現你的代碼片段可讀?我不。你應該考慮在每行的開始處使用4個空格,而不是用'>'來引用塊。出於同樣的可讀性原因,在評論部分中發佈大型代碼片斷也是無用的。我會鼓勵你繼續並編輯你的問題。 – 2010-08-13 13:42:58

回答

0

我覺得你剛纔應該用正常的HTML列表框,而不是asp.net服務器控件的狀態。 Here是關於它的一些提示。和here你可以找到體面的代碼爲jquery,將移動項目之間的列表框。

我覺得你有三種選擇:

  • 使用普通的HTML列表框,寫一些JavaScript代碼,並使用標準的POST請求的服務器與他們操縱。
  • 使用的UpdatePanel與你的列表框(你會消除頁面閃爍,你可能不會有使用jQuery或重寫現有的代碼)
  • 查找或編寫自己的控件,使用JavaScript來移動項目和管理視圖狀態本身

我會使用HTML列表框(選擇元素)來避免視圖狀態問題。它會爲你節省很多時間。

+0

好吧,你是真的我可以使用更新面板與列表框,但我想通過自定義控件瞭解它。 你能告訴我如何將ajax整合到我的項目中,我之前從未做過什麼,我需要做什麼? – NoviceToDotNet 2010-08-13 15:20:19

+0

檢查了這一點:http://www.codeproject.com/KB/custom-controls/ListBoxComponent01.aspx 但是,真的,不要創建自定義控件,你會在項目中使用一次或兩次。最好用一些javascript創建ascx。它快得多。 – Jarek 2010-08-13 16:17:06