Asp.net的UpdatePanel列表框不刷新布局 [英] Asp.net updatepanel Listbox not refreshing layout
本文介绍了Asp.net的UpdatePanel列表框不刷新布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我的问题很简单,我有2表盒和一个按钮。
当listbox2一个项目被选中,并单击该按钮时我想选择的项目添加到ListBox1中。
和它所有接缝工作,直到我添加第二个项目。然后ListBox1中不会刷新它的项目...
<身体GT;
<表ID =form1的=服务器>
< ASP:的ScriptManager =服务器>< / ASP:ScriptManager的>
< DIV>
< 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的>
< DIV>
< 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屋!
查看全文