仅使用下拉框中的值刷新更新

时间:2014-03-19 09:31:18

标签: c# asp.net ajax

我有一个名为" 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;填充。现在刷新页面并填充值。我希望在没有重新加载页面的情况下刷新面板。请帮忙。

3 个答案:

答案 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>