Получение значения редактирования из ListView - PullRequest
2 голосов
/ 26 ноября 2008

Я что-то здесь упускаю, но я слишком долго на это смотрел. У меня есть простой ListView, с типичными кнопками Edit / Update / Cancel. У меня есть следующие настройки в моей EditITemTemplate, когда строка переходит в режим редактирования:

<EditItemTemplate>
    <asp:Label ID="AccountIdLabel" runat="server" Text='<%#Eval("lan_id")%>' />
    <asp:TextBox ID="EmployeeIdTextBox" runat="server" Text='<%#Eval("emp_id")%>' Columns="5" />
</EditItemTemplate>

В этот момент пользователь вводит значение в EmployeeIdTextBox. Когда они нажимают Обновить, он пытается сделать следующее:

Private Sub ListView_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewUpdateEventArgs) Handles EmployeeListView.ItemUpdating

    Dim accountId = CType(EmployeeListView.EditItem.FindControl("AccountIdLabel"), Label).Text
    Dim employeeId = CType(EmployeeListView.EditItem.FindControl("EmployeeIdTextBox"), TextBox).Text

    UpdateMap(accountId, employeeId)

    EmployeeListView.EditIndex = -1
    GetData()

End Sub

Проблема заключается в том, что employeeId возвращается с исходным значением в текстовом поле, а не с тем, которое ввел пользователь. Чего мне не хватает?

ОБНОВЛЕНИЕ: Нашли . Как обычно, вызвано другим кодом, не включенным здесь, чтобы задать простой вопрос. :)

Ответы [ 2 ]

1 голос
/ 27 ноября 2008

Нашел его - у меня был код в событии ItemCommand, который обрабатывал другие события, но он выполнял GetData () в конце независимо от команды, поэтому в основном данные обновлялись непосредственно перед тем, как произошло событие ItemUpdating. Я ужесточил ItemCommand, и теперь он работает как положено.

0 голосов
/ 26 ноября 2008

Я думаю, это потому, что событие ItemUpdating срабатывает до того, как ListView обновит запись. Возможно, вы захотите поместить этот код в событие ItemUpdated.

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listview.itemupdating.aspx

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