在ListView中使用UpdatePanels

时间:2010-04-13 18:19:18

标签: c# asp.net listview updatepanel

我想知道是否有人之前遇到类似的事情。一些快速的伪代码开始:

<UpdatePanel>
    <ContentTemplate>
        <ListView>
            <LayoutTemplate>
                <UpdatePanel>
                    <ContentTemplate>
                        <ItemPlaceholder />
                    </ContentTemplate>
                 </UpdatePanel>
            </LayoutTemplate>
            <ItemTemplate>
                 Some stuff goes here
            </ItemTemplate>
        </ListView>
    </ContentTemplate>
</UpdatePanel>

从上面拿走的主要内容是我有一个包含listview的更新面板;然后每个listview项都包含在自己的更新面板中。

我想要做的是当其中一个ListView更新面板触发回发时,我还想更新其他ListView项目更新面板之一。

实际实施将是一项快速调查,有3个问题。如果用户对问题#1回答“是”,我们只询问问题#3。页面加载时;它隐藏了Q3,因为Q1没有看到“是”。当用户点击“是”到Q1时,我想刷新Q3更新面板,现在显示它。

我现在通过在回发时刷新外部UpdatePanel来实现它,但这似乎效率低下,因为我不需要重新评估每个项目;只是受上述详细信息影响的那些。

我一直在努力设置触发器,但我一直空着,主要是因为我无法根据Q1触发的回发找出为Q3的updatepanel设置触发器的方法。

有任何建议吗?我吠叫错了树吗?

1 个答案:

答案 0 :(得分:0)

说实话,这可能会更好地在纯JavaScript中完成,最初隐藏元素并在问题得到解答时显示它们。你可能不会那么热衷于此。我刚刚发现UpdatePanel非常适合简单地添加ajax效果,但是一旦你开始尝试做硬件,它就会变得过于复杂和笨重。此外,更新面板每次都会回发到服务器,如果你只是在DOM中打开和关闭东西,那么最好只做javascript。

很抱歉,如果这不是您所追求的答案,我想我会根据自己的经验告诉您(当我可以用Javascript完成工作时,我花了太多时间摆弄更新面板)< / p>