Asp.net 当我将项目从一个列表框转移到另一个列表框时,如何防止页面被回发

Asp.net 当我将项目从一个列表框转移到另一个列表框时,如何防止页面被回发,asp.net,ajax,listbox,postback,Asp.net,Ajax,Listbox,Postback,我的应用程序中有两个列表框,点击按钮时我将项目从一个列表框推到另一个列表框,代码工作正常,但会导致回发,当我将项目从一个列表框移到另一个列表框时,整个页面将再次加载,我如何防止这种情况发生 这将是我的aspx页面上的代码 <div class="bx1"> <telerik:RadListBox ID="RadListBox1" runat="server" DataTextField="Name" DataValueField="Id"

我的应用程序中有两个列表框,点击按钮时我将项目从一个列表框推到另一个列表框,代码工作正常,但会导致回发,当我将项目从一个列表框移到另一个列表框时,整个页面将再次加载,我如何防止这种情况发生

这将是我的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>

这是我为listbox编写的代码

 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;

                }

            }
protectedvoidmovedownclick(对象发送方,事件参数e)
{
如果(RadListBox1.SelectedIndex<0)
{
}
其他的
{
RadListBox2.Items.Add(RadListBox1.SelectedItem);
RadListBox1.Items.Remove(RadListBox1.SelectedItem);
RadListBox2.SelectedItem.Selected=false;
}
}
受保护的void MoveUpClick(对象发送方,事件参数e)
{
如果(RadListBox2.SelectedIndex<0)
{
}
其他的
{
RadListBox1.Items.Add(RadListBox2.SelectedItem);
RadListBox2.Items.Remove(RadListBox2.SelectedItem);
RadListBox1.SelectedItem.Selected=false;
}
}

如果您的Visual Studio版本低于2008,请首先从以下站点下载ajax并安装:

添加对System.Web.Extensions dll的引用,然后在开始标记后添加以下行:


就这样,这将停止发回您的页面。

如果您的Visual Studio版本低于2008,请首先从以下站点下载ajax并安装它:

添加对System.Web.Extensions dll的引用,然后在开始标记后添加以下行:


就这样,这将停止发回您的页面。

花点时间研究一下将jQuery与Microsoft的Ajax一起使用更新面板,或者尽可能只使用jQuery。以下是两个关于该主题的优秀阅读链接:

微软Ajax


jqueryajax:

花点时间研究一下将jQuery与Microsoft的Ajax一起使用更新面板,或者尽可能只使用jQuery。以下是两个关于该主题的优秀阅读链接:

微软Ajax


jQuery Ajax:

您将内容放入
UpdatePanel
中,并在中添加
ScriptManager
,这不会导致页面回发。感谢您的回复,我对asp.net Ajax非常陌生,请您推荐一些示例文章,这解释了整个过程。您将内容放入
UpdatePanel
中,并在中添加
ScriptManager
,这不会导致页面回发。感谢您的回复,我对asp.net ajax非常陌生,请您推荐一些示例文章,解释整个过程。
<asp:ScriptManager runat="server" ID="Script1"></asp:ScriptManager>
<asp:UpdatePanel runat="Server" ID="u1">
<ContentTemplate>
Your Code
</ContentTemplate>
</asp:UpdatePanel>