我有一个名为" DropDownList1"的下拉列表。从下拉列表中选取的任何值都不能刷新页面,只能刷新面板我的代码如下。
<asp:DropDownList ID="DropDownList1" runat="server" Width="200px" autopostback="true" OnSelectedIndexChanged="DropDownList1sel">
<asp:ListItem Text="abc" Value="0"></asp:ListItem>
<asp:ListItem Text="a" Value="1"></asp:ListItem>
<asp:ListItem Text="b" Value="2"></asp:ListItem>
<asp:ListItem Text="c" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
当我运行此代码时,它必须调用名为&#34; DropDownList1sel&#34;的函数。在ascx.cs中&#34; Label1&#34;填充。现在刷新页面并填充值。我希望在没有重新加载页面的情况下刷新面板。请帮忙。
答案 0 :(得分:0)
很少有事情要做
设置UpdateMode=conditional
,然后将Trigger添加为DropDownList1
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="conditional" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDownList1"
EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
答案 1 :(得分:0)
为什么不在UpdatePanel中添加DropDown。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" Width="200px"
AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_OnSelectedIndexChanged">
<asp:ListItem Text="abc" Value="0"></asp:ListItem>
<asp:ListItem Text="a" Value="1"></asp:ListItem>
<asp:ListItem Text="b" Value="2"></asp:ListItem>
<asp:ListItem Text="c" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="Label1" runat="server" Text=""></asp:Label>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="DropDownList1"/>
</Triggers>
</asp:UpdatePanel>
答案 2 :(得分:0)
您必须将该面板放在更新面板中。
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<panel id="panel1">
</panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="DropDownList1" />
</Triggers>
</asp:UpdatePanel>