【问题标题】:AsyncPostBackTrigger in nested repeater嵌套中继器中的 AsyncPostBackTrigger
【发布时间】:2014-11-13 08:27:06
【问题描述】:

大家好,

这是我在这里的第一篇文章,我要感谢大家在这个论坛的巨大努力,我已经获得了很多技能。

我有两个嵌套中继器的小问题。基本上,我在子中继器中有一个下拉列表,其中包含评级值,并且每次在子中继器中更改下拉列表时,都会计算新的百分比并将其显示在父中继器的标签中。这将导致完整的回发,这在浏览太多下拉列表时非常令人沮丧。我的问题是如何在没有回发的情况下在标签中反映新计算的百分比。我曾尝试使用 AsyncPostBackTriggers 但没有运气。任何建议将不胜感激

<asp:Repeater ID="rptParent" runat="server">
<ItemTemplate>
<asp:Label ID="lblAvg" runat="server" Text='<%# Eval("TrialScore")%>'></asp:Label>
<asp:Repeater ID="rptChild" runat="server">
<ItemTemplate>
<asp:DropDownList ID="lstRate" runat="server" OnSelectedIndexChanged="lstRate_SelectedIndexChanged" />

</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>

【问题讨论】:

  • 您是否考虑过使用 Ajax Control Toolkit 中的 UpdatePanels?
  • 是的,我做到了。但是,myabe 我没有以正确的方式使用它。如果您能告诉我正确的方法,我将不胜感激。

标签: asp.net


【解决方案1】:

像这样将你的 aspx 标记包裹在更新面板中。

<asp:UpdatePanel runat="sever" ID="upParentChild" >
    <ContentTemplate>
        <asp:Repeater ID="rptParent" runat="server">
            <ItemTemplate>
                <asp:Label ID="lblAvg" runat="server" Text='<%# Eval("TrialScore")%>'></asp:Label>
                <asp:Repeater ID="rptChild" runat="server">
                    <ItemTemplate>
                        <asp:DropDownList ID="lstRate" runat="server" OnSelectedIndexChanged="lstRate_SelectedIndexChanged" />
                    </ItemTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>
    </ContentTemplate>        
</asp:UpdatePanel>

这将确保只发回更新面板内的控件,而不是整个页面。

【讨论】:

  • 我很抱歉我迟来的回复。老实说,我之前尝试过您的代码,但没有成功。就我而言,我想完全避免回发。当子中继器中的下拉列表的 selectedindexchanged 时,我只想更改父中继器中的标签值(根本没有回发)。我尝试使用如下所示的 AsyncPostBackTrigger,但它不起作用&lt;/ContentTemplate&gt; &lt;Triggers&gt; &lt;asp:AsyncPostBackTrigger ControlID="lstRate" EventName="SelectedIndexChanged" /&gt;&lt;/Triggers&gt;。我收到错误消息控制 lstRate 无法找到更新面板。
  • 你试过不使用AsyncPostBackTrigger吗?如果您将任何服务器控件放在更新面板中,它将异步更新并执行Callback 而不是Postback。它不一定需要AsyncPostBackTrigger
  • @DevrajGadhavi 您所说的不适用于嵌套控件。
猜你喜欢
  • 2013-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多