在 asp.net 中使用更新面板排除 AutoPostback
Exclude AutoPostback using update Panel in asp.net
我有两个 dropdownlist
,第一个 OnSelectedIndexChanged
我得到第二个 dropdownlist
值。
目前我的代码包括 AutoPostBack = true
这会导致整个页面回发。
我不希望页面在获取 Postback
的同时还获取第二个下拉列表值。
我听说过 UpdatePanel
但我不知道如何使用它,但我尝试了 here 但它没有解决我的问题。
这是我的html。请建议如何做到这一点
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Project
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlProject" runat="server" Width="250" OnSelectedIndexChanged="ddlProject_OnSelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Building No
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlBuilding" runat="server" AutoPostBack="true" Width="250"
OnSelectedIndexChanged="ddlBuilding_OnSelectedIndexChanged">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
将脚本管理器从 ajax 扩展添加到设计页面
<asp:UpdatePanel ID="updFilter" runat="server">
<ContentTemplate>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Project
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlProject" runat="server" Width="250" OnSelectedIndexChanged="ddlProject_OnSelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Building No
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlBuilding" runat="server" AutoPostBack="true" Width="250"
OnSelectedIndexChanged="ddlBuilding_OnSelectedIndexChanged">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr></ContentTemplate></asp:UpdatePanel>
在ddlProject_OnSelectedIndexChanged方法中,调用loadddlBuilding方法,根据ddlProject选择的值将数据加载到ddlBuilding。
我有两个 dropdownlist
,第一个 OnSelectedIndexChanged
我得到第二个 dropdownlist
值。
目前我的代码包括 AutoPostBack = true
这会导致整个页面回发。
我不希望页面在获取 Postback
的同时还获取第二个下拉列表值。
我听说过 UpdatePanel
但我不知道如何使用它,但我尝试了 here 但它没有解决我的问题。
这是我的html。请建议如何做到这一点
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Project
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlProject" runat="server" Width="250" OnSelectedIndexChanged="ddlProject_OnSelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Building No
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlBuilding" runat="server" AutoPostBack="true" Width="250"
OnSelectedIndexChanged="ddlBuilding_OnSelectedIndexChanged">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
将脚本管理器从 ajax 扩展添加到设计页面
<asp:UpdatePanel ID="updFilter" runat="server">
<ContentTemplate>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Project
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlProject" runat="server" Width="250" OnSelectedIndexChanged="ddlProject_OnSelectedIndexChanged"
AutoPostBack="true">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td class="label" style="width: 7%; font-size: 120%; font-family: Courier New">
Building No
</td>
<td class="field" style="width: 7%">
<asp:DropDownList ID="ddlBuilding" runat="server" AutoPostBack="true" Width="250"
OnSelectedIndexChanged="ddlBuilding_OnSelectedIndexChanged">
<asp:ListItem Value="--- Select ---">--- Select ---</asp:ListItem>
</asp:DropDownList>
</td>
</tr></ContentTemplate></asp:UpdatePanel>
在ddlProject_OnSelectedIndexChanged方法中,调用loadddlBuilding方法,根据ddlProject选择的值将数据加载到ddlBuilding。