我在ListView控件中使用什么更新逻辑?

时间:2011-03-29 09:38:00

标签: asp.net listview

我有一个ListView控件,但我在后面的代码中绑定数据源,所以我不能使用神奇的自动CRUD功能。我已经实现了Edit(显示该项目的相关Edit模板)和Cancel,但我不知道如何更新数据库的Update方法。

每行包含2列,名称和值,因此编辑模板有一个文本框来编辑值部分。

protected void lvFishBiscuits_ItemUpdating(object sender, ListViewUpdateEventArgs e)
{
    // Logic goes here? to update 

    lvFishBiscuits.EditIndex = -1;

    BindListView();
}

e的oldvalue属性为null,我需要知道我正在编辑的项目的唯一ID - 我应该将它放到行上的隐藏字段中,还是可以将index属性与数据源一起使用?

我有一个方法

protected void UpdateFishBiscuits(int uniqueIDInDatabase, string newValue)
{
  // do the update
}

所以这是一个如何调用它的案例?

1 个答案:

答案 0 :(得分:1)

您可以将uniqueIDInDataBase设置为更新按钮的CommandArgument

CommandArgument='<%#Eval("uniqueIDInDataBase") %>' />

并在ItemCommand中检索它 - 事件处理程序(CommandName“Update”)。在那里,您还可以放置更新逻辑。