Asp.Net Repeater ItemCommand dataitem始终为null

Abd*_*sit 5 asp.net repeater

在转发器rpt_ItemCommand事件中,e.Item.DataItem始终为空.

这是后面的代码:

protected void rpt_ItemCommand(Object sender, RepeaterCommandEventArgs e)
{
    DataRowView drv = (DataRowView)e.Item.DataItem // here the DataItem is Null.
}
Run Code Online (Sandbox Code Playgroud)

建议我任何解决方案.

Abd*_*sit 6

除了ItemDataBound之外,DataItem属性始终为null ...它是由Microsoft设计的.


bur*_*rki 6

考虑使用CommandArgument.

<asp:LinkButton ToolTip="Delete" CommandArgument='<%#Eval("Id") %>' ....
Run Code Online (Sandbox Code Playgroud)

并在ItemCommand Event中使用它

int id = Convert.ToInt32(e.CommandArgument);
Run Code Online (Sandbox Code Playgroud)