在嵌套的UpdatePanel

时间:2018-07-24 05:02:03

标签: asp.net updatepanel repeater model-binding databound-controls

访问嵌套的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

但是我非常希望这不是完成任务的最佳方法。

0 个答案:

没有答案