【问题标题】:UpdatePanel in each datalist row每个数据列表行中的 UpdatePanel
【发布时间】:2011-05-12 07:00:03
【问题描述】:
我正在尝试更新每个 DataList 行,而不必回发整个 DataList。
基本上我想去
<DataList>
<ItemTemplate>
<UpdatePanel>
</UpdatePanel>
</ItemTemplate>
</DataList>
而不是
<UpdatePanel>
<DataList>
<ItemTemplate>
</ItemTemplate>
</DataList>
</UpdatePanel>
这是否可能,或者更好 - 有什么意义吗?
【问题讨论】:
标签:
asp.net
asp.net-ajax
updatepanel
datalist
【解决方案1】:
是的,有可能,我个人在某些情况下会这样做。
但您必须意识到,使用 UpdatePanel 并不是一个完美的解决方案。例如,客户端发送了页面的完整 ViewState。所以会有收益,但没有你想象的那么大。
我建议您阅读 UpdatePanel 注意事项部分in this link 了解更多信息。
更新:
您还必须注意如何设置模板,例如:您不能将表格行放在更新面板中。
不要这样做:
<asp:DataList>
<HeaderTemplate>
<Table>
</HeaderTemplate>
<ItemTemplate>
<UpdatePanel>
<tr>
<td>...</td>
<td>...</td>
</tr>
</UpdatePanel>
</ItemTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</asp:DataList>
但你不能这样做:
<asp:DataList>
<HeaderTemplate>
<Table>
</HeaderTemplate>
<ItemTemplate>
<UpdatePanel>
<tr>
<td>
<UpdatePanel>
...
</UpdatePanel>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</Table>
</FooterTemplate>
</asp:DataList>