我有两个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>
答案 0 :(得分:1)
从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。