【问题标题】:Exclude AutoPostback using update Panel in asp.net在 asp.net 中使用更新面板排除 AutoPostback
【发布时间】:2016-04-17 00:19:21
【问题描述】:

我有两个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>

【问题讨论】:

  • 好吧,先生,您甚至不能使用 javascript,最好不要使用它。我曾经尝试过这样做,但找不到合适的解决方案
  • @KhawajaAtteeq:我想做,因为这是我的要求。我需要找到一些解决方案
  • 亲爱的 UpdatePanel 必须重新加载,因为其中不允许使用 JS,因此 webforms 必须回发它以加载新数据。此链接可能对 encosia.com/easily-refresh-an-updatepanel-using-javascript 有所帮助
  • 还将面板属性设置为 ChildrenAsTriggers="false"

标签: c# asp.net updatepanel


【解决方案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。

【讨论】:

    猜你喜欢
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多