我正在尝试更新每个数据列表行,而不必回发整个数据列表。
基本上我想去
<DataList>
<ItemTemplate>
<UpdatePanel>
</UpdatePanel>
</ItemTemplate>
</DataList>
而不是
<UpdatePanel>
<DataList>
<ItemTemplate>
</ItemTemplate>
</DataList>
</UpdatePanel>
这是可能的,还是更好的 - 这有什么意义吗?
是的,这是可能的,我个人在某些情况下会这样做。
但是您必须意识到,使用UpdatePanel并不是一个完美的解决方案。例如,客户端发送了页面的完整视图状态。所以会有收益,但没有你想象的那么大。
我建议您阅读此链接中的UpdatePanel注意事项部分以获取更多信息。
更新:
您还必须注意如何设置模板,例如:您不能在更新面板中放置表格行。
别这样:
<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>