Asp.net的UpdatePanel列表框不刷新布局 [英] Asp.net updatepanel Listbox not refreshing layout

查看:126
本文介绍了Asp.net的UpdatePanel列表框不刷新布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我的问题很简单,我有2表盒和一个按钮。
当listbox2一个项目被选中,并单击该按钮时我想选择的项目添加到ListBox1中。

和它所有接缝工作,直到我添加第二个项目。然后ListBox1中不会刷新它的项目...

 <身体GT;
<表ID =form1的=服务器>
    < ASP:的ScriptManager =服务器>< / ASP:ScriptManager的>
    < D​​IV>
        < ASP:的UpdatePanel ID =UpdatePanel1=服务器>
            <&的ContentTemplate GT;
                < ASP:列表框ID =ListBox1的=服务器>< / ASP:列表框>
            < ASP:列表框ID =ListBox2=服务器>< / ASP:列表框>
                < ASP:按钮的ID =Button1的=服务器的onclick =的button1_Click文本=按钮/>
            < /&的ContentTemplate GT;
        < / ASP:的UpdatePanel>
    < / DIV>
    < /表及GT;
< /身体GT;
公共部分类默认2:System.Web.UI.Page
{
    保护无效的Page_Load(对象发件人,EventArgs的发送)
    {
        如果(!的IsPostBack)
        {
            ListBox2.Items.Add(新的ListItem(1,1));
            ListBox2.Items.Add(新的ListItem(2,2));
            ListBox2.Items.Add(新的ListItem(3,3));
            ListBox2.Items.Add(新的ListItem(4,4));
            ListBox2.Items.Add(新的ListItem(5,5));
        }
    }
    保护无效的button1_Click(对象发件人,EventArgs的发送)
    {
        如果(ListBox2.SelectedIndex!= -1)
        {
            ListBox1.Items.Add(ListBox2.SelectedItem);
        }
    }
}


解决方案

您可以的UpdateMode =条件添加到您的的UpdatePanel

和设置< ASP:AsyncPostBackTrigger控件ID =Button1的事件名称=点击/>

 < ASP:的ScriptManager =服务器>< / ASP:ScriptManager的>
    < D​​IV>
        < ASP:的UpdatePanel ID =UpdatePanel1=服务器的UpdateMode =条件>
            <&的ContentTemplate GT;
                < ASP:列表框ID =ListBox1的=服务器>< / ASP:列表框>
                < ASP:列表框ID =ListBox2=服务器>< / ASP:列表框>
                < ASP:按钮的ID =Button1的=服务器的onclick =的button1_Click文本=按钮/>
            < /&的ContentTemplate GT;            <&触发器GT;
                < ASP:AsyncPostBackTrigger控件ID =Button1的事件名称=点击/>
            < /触发器>        < / ASP:的UpdatePanel>
    < / DIV>

so my problem is fairly simple i have 2 list-boxes and one button. when an item is selected in listbox2 and the button is clicked i would like to add the selected item to listbox1.

And it all seams to work until I add the second item. then listbox1 doesn't refresh it's items...

<body>
<form id="form1" runat="server">
    <asp:ScriptManager runat="server"></asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
            <asp:ListBox ID="ListBox2" runat="server"></asp:ListBox>
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
            </ContentTemplate>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ListBox2.Items.Add(new ListItem("1", "1"));
            ListBox2.Items.Add(new ListItem("2", "2"));
            ListBox2.Items.Add(new ListItem("3", "3"));
            ListBox2.Items.Add(new ListItem("4", "4"));
            ListBox2.Items.Add(new ListItem("5", "5"));
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (ListBox2.SelectedIndex != -1)
        {
            ListBox1.Items.Add(ListBox2.SelectedItem);
        }
    }
}

解决方案

You can add UpdateMode=conditional to your UpdatePanel

And set <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />

  <asp:ScriptManager runat="server"></asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                <asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
                <asp:ListBox ID="ListBox2" runat="server"></asp:ListBox>
                <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
            </ContentTemplate>

            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
            </Triggers>

        </asp:UpdatePanel>
    </div>

这篇关于Asp.net的UpdatePanel列表框不刷新布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆