2011-08-24 34 views
1

我有兩個列表框在我的應用程序上按鈕單擊我推動項目從一個列表框到其他,代碼工作正常,但它會導致回發,而我將項目從一個列表框移動到另一個整個頁面正在再次加載,我怎麼可以防止這一點。如何防止頁面被回發時,我將項目從一個列表框轉移到其他

這將是我的aspx頁面上的代碼

<div class="bx1"> 
     <telerik:RadListBox ID="RadListBox1" runat="server" DataTextField="Name" DataValueField="Id" 
      Width="250px"> 
     </telerik:RadListBox> 
     </div> 
     <div style="height:7px"></div> 
     <div class="bx5"> 
     <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="images/dwnArrow.png" OnClick="MoveDownClick" /> 
     <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="images/uparrow.png" OnClick="MoveUpClick" /> 
     </div> 
     <div style="height:7px"></div> 

     <div class="bx1"> 
     <telerik:RadListBox ID="RadListBox2" runat="server" DataTextField="Name" 
      DataValueField="Id" Width="250px" > 
     </telerik:RadListBox> 
     </div> 

這是我的代碼後面的列表框

protected void MoveDownClick(object sender, EventArgs e) 
      { 
       if (RadListBox1.SelectedIndex < 0) 
       { 
       } 
       else 
       { 
        RadListBox2.Items.Add(RadListBox1.SelectedItem); 
        RadListBox1.Items.Remove(RadListBox1.SelectedItem); 
        RadListBox2.SelectedItem.Selected = false; 
       } 
      } 
      protected void MoveUpClick(object sender, EventArgs e) 
      { 
       if (RadListBox2.SelectedIndex < 0) 
       { 

       } 
       else 
       { 

        RadListBox1.Items.Add(RadListBox2.SelectedItem); 
        RadListBox2.Items.Remove(RadListBox2.SelectedItem); 
        RadListBox1.SelectedItem.Selected = false; 

       } 

      } 
+1

你把你的內容在'UpdatePanel'並添加'ScriptManager'你

,不會導致頁面回發。 – teenup

+0

感謝您的回覆,我對asp.net ajax很新,請您提供一些樣例文章,它解釋了完整的過程。 – mahesh

回答

2

如果您的Visual Studio版本低於2008,那麼首先下載AJAX從以下網站安裝:

http://ajaxcontroltoolkit.codeplex.com/

一個引用添加到System.Web.Extensions程序的DLL,然後添加以下行的開放<形式>標籤之後:

<asp:ScriptManager runat="server" ID="Script1"></asp:ScriptManager> 

在下面的代碼段與你寫你的整個代碼替換Your Code以上:

<asp:UpdatePanel runat="Server" ID="u1"> 
<ContentTemplate> 
Your Code 
</ContentTemplate> 
</asp:UpdatePanel> 

就是這樣,這將停止發回您的頁面。

+0

非常感謝。 – mahesh

相關問題