我有一个带有OnDeleteCommand =“Delete_Command”的数据列表。
我希望删除包含多个主键的记录,但我不知道如何从Delete_Command事件中访问它。
如果我使用DataKeyField,我只限于一个键。 有没有解决方法呢?
答案 0 :(得分:1)
您可以访问所有密钥:
gridView.DataKeys[rowNum][dataKeyName]
其中rowNum是来自gridView_RowDeleting事件处理程序的e.RowIndex,而dataKeyName是您想要获取的键:
<asp:GridView ID="gridView" runat="server" DataKeyNames="userid, id1, id2, id3" OnRowDeleting="gridView_RowDeleting">
protected void gridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
gridView.DataKeys[e.RowIndex]["userid"]...
gridView.DataKeys[e.RowIndex]["id1"]...
gridView.DataKeys[e.RowIndex]["id2"]...
gridView.DataKeys[e.RowIndex]["id3"]...
}
答案 1 :(得分:0)
哦,对不起,我错过了。
AFAIK默认没有这种可能性。也许你可以用主键创建一个复合键,比如
Key1UnderscoreKey2UnderscoreKey3
并将其拆分为事件处理程序。所以这是DataList的DIY多键处理程序: - )
编辑:下划线在格式化过程中丢失了,它取代了斜体文本。因此,而不是“下划线”一词使用真正的下划线