数据绑定控件和UpdatePanel

时间:2010-12-23 04:57:16

标签: asp.net ajax updatepanel

我有以下代码:

<asp:FormView ID="PhotoFormView" runat="server" DataKeyNames="PhotoID" DataSourceID="PhotoDataSource">
    <EmptyDataTemplate>
        No photo here.
    </EmptyDataTemplate>
    <ItemTemplate>
        <asp:Panel runat="server" Width='<%#PhotoController.FullPhotoSize.Width%>' Style="float: left;">
            <asp:UpdatePanel runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                    <asp:Button ID="VoteButton" runat="server" OnClick="VotePhoto" />
                    <asp:Literal ID="VoteCountLL" runat="server" Text='<%#Bind("VoteCount")%>' />
                    likes <span style="float: right;">
                        <asp:Button runat="server" Text="Previous" />
                        <asp:Button runat="server" Text="Next" />
                    </span>
                </ContentTemplate>
            </asp:UpdatePanel>

在VoteButton按钮调用的VotePhoto方法(在后面的代码中),我尝试在VoteCountLL上调用DataBind,但是我收到一个InvalidOperationException,其中包含“Eval(),XPath()和Bind等数据绑定方法” ()只能在数据绑定控件的上下文中使用。“。

在英语中,这就是我要做的事情:我有一个标签显示照片被投票的次数。可以单击该按钮以使当前登录的用户对照片进行投票,从而增加投票计数,这在VotePhoto方法中发生。在VotePhoto方法结束时,它尝试在VoteCountLL文字上调用DataBind来更新计数,并导致上述异常。我怎样才能克服这个问题?

1 个答案:

答案 0 :(得分:0)

而不是使用&lt;%#Bind(&#34; VoteCount&#34;)%&gt; ,从DataBound事件设置VoteCountLL值可能会有所帮助。