Элементы управления с привязкой к данным и UpdatePanel - PullRequest
0 голосов
/ 23 декабря 2010

У меня есть следующий код:

<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>

В методе VotePhoto (в коде позади), вызываемом кнопкой VoteButton, я пытаюсь вызвать DataBind для VoteCountLL, но я получаю исключение InvalidOperationException с сообщением«Методы привязки данных, такие как Eval (), XPath () и Bind (), могут использоваться только в контексте элемента управления, связанного с данными».

В английском я пытаюсь сделать следующее:ярлык с указанием количества голосов за фотографию.На кнопку можно нажать, чтобы пользователь, вошедший в систему, голосовал за фотографию, увеличивая таким образом количество голосов, что происходит в методе VotePhoto.В конце метода VotePhoto он пытается вызвать DataBind для литерала VoteCountLL, чтобы обновить счетчик, и это вызывает вышеупомянутое исключение.Как я могу преодолеть эту проблему?

1 Ответ

0 голосов
/ 23 декабря 2010

Вместо использования <% # Bind ("VoteCount")%> может помочь установка значения VoteCountLL из события DataBound.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...