Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 删除具有多个主键的Datalist行_Asp.net - Fatal编程技术网

Asp.net 删除具有多个主键的Datalist行

Asp.net 删除具有多个主键的Datalist行,asp.net,Asp.net,我有一个带有OnDeleteCommand=“Delete\u命令”的数据列表 我希望删除具有多个主键的记录,但我不知道如何从delete_命令事件访问它 如果我使用DataKeyField,我只能使用一个键。 有什么解决方法吗?您可以访问所有密钥: gridView.DataKeys[rowNum][dataKeyName] 其中,rowNum是gridView_RowDeleteing事件处理程序中的e.RowIndex,dataKeyName是要获取的键: <asp:GridVie

我有一个带有OnDeleteCommand=“Delete\u命令”的数据列表

我希望删除具有多个主键的记录,但我不知道如何从delete_命令事件访问它

如果我使用DataKeyField,我只能使用一个键。
有什么解决方法吗?

您可以访问所有密钥:

gridView.DataKeys[rowNum][dataKeyName]
其中,rowNum是gridView_RowDeleteing事件处理程序中的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"]...
}

受保护的无效gridView_行删除(对象发送方,GridViewDeleteEventArgs e)
{
数据键[e.RowIndex][“userid”]。。。
gridView.DataKeys[e.RowIndex][“id1”]。。。
数据键[e.RowIndex][“id2”]。。。
数据键[e.RowIndex][“id3”]。。。
}

哦,对不起,我错过了

恐怕默认情况下不存在这种可能性。也许可以从主键创建复合键,如

键1下划线键2下划线键3

并在事件处理程序中拆分它。这是一个用于DataList的DIY多键处理程序:-)

编辑:下划线在格式化过程中丢失,替换为斜体文本。因此,不要使用“下划线”这个词,而是使用真正的下划线