2011-08-24 32 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

相关问题