我有以下代码:
<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来更新计数,并导致上述异常。我怎样才能克服这个问题?
答案 0 :(得分:0)
而不是使用&lt;%#Bind(&#34; VoteCount&#34;)%&gt; ,从DataBound事件设置VoteCountLL值可能会有所帮助。