Вы должны установить ListView.DataKeyNames содержать имя свойства в UniqueID
<asp:ListView runat="server" ID="LvSample" DataKeyNames="SupplierId"/>
Тогда DataKey будет доступна в обновлении Мероприятия. Не стоит ничего, что вы могли бы использовать событие ItemUpdating вместо ItemUpdated, поскольку это происходит до того, как произойдет обновление.
protected void Page_Load(object sender, EventArgs e)
{
LvSample.ItemUpdating += new EventHandler<ListViewUpdateEventArgs>(LvSample_ItemUpdating);
LvSample.ItemUpdated += new EventHandler<ListViewUpdatedEventArgs>(LvSample_ItemUpdated);
}
void LvSample_ItemUpdated(object sender, ListViewUpdatedEventArgs e)
{
var supplierId = e.NewValues["SupplierId"];
}
void LvSample_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
var supplierId = e.Keys["SupplierId"];
}
Спасибо, @Caspar Kleijne. Как получить значение id sql текущего элемента, которое я редактирую? – eugeneK
@Caspar Kleijne, я получаю исключение нулевого объекта в Response.Write ((ListView) отправитель) .SelectedDataKey.Value.ToString()); Я добавил в ListView DataKeyNames = 'id' – eugeneK
- это идентификатор в вашем списке? (Кроме того, что он объявлен как datakeyname?) –