访问嵌套的UpdatePanel内部数据绑定项的正确方法是什么?我最近发现了模型绑定,并且喜欢它提供的强类型绑定,但是我在整个页面中分散了UpdatePanels,而且似乎破坏了对Item
对象的访问。如果整个数据绑定控件都在UpdatePanel内部,则没有问题。这有效:
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Repeater runat="server" ID="myRepeater" ItemType="Test.Person">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Item.Name %>' /><br />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
但是,如果UpdatePanel位于绑定控件内,则我将无法再访问Item
。这不起作用:
<asp:Repeater runat="server" ID="myRepeater" ItemType="Test.Person">
<ItemTemplate>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Label runat="server" Text='<%# Item.Name %>' /><br /> // <-- Problem line
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:Repeater>
CS0103:名称“ Item”在当前上下文中不存在
我摸索了一个笨拙的解决方案,就是这个
((Person)GetDataItem()).Name
但是我非常希望这不是完成任务的最佳方法。