Mik*_*keL 2 c# asp.net repeater linkbutton commandargument
我有一个带有客户列表的中继器。每个客户都有一个删除链接按钮。作为链接按钮的一部分,我想将 Customer 对象传递给 Command Arguement,如下所示(其中 Container.DataItem 是客户对象):
<asp:LinkButton ID="lnkDelete"
OnClientClick="return confirmDelete();"
OnClick="Customer_OnDelete"
CommandArgument="<%# Container.DataItem %>"
CommandName="Delete"
runat="server"></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
当我这样做时:
var button = (((LinkButton) sender));
var customer= button.CommandArgument;
Run Code Online (Sandbox Code Playgroud)
button.CommandArgument 是一个字符串。我需要所有的对象属性,因为我们使用 Nhibernate,所以需要设置所有内容,删除记录的 ID 是不够的。我在网上看到过关于将逗号分隔的值列表传递到命令论证中的示例,但希望避免这样做。这可能吗?
有任何想法吗?谢谢
小智 6
在我看来,这种情况的最佳方法是:
CommandArgument使用Repeater事件OnItemCommand。此事件包含RepeaterCommandEventArgs. 你不能CommandArgument这样:
protected void myRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int customerID= Convert.ToInt32(e.CommandArgument.ToString());
}
Run Code Online (Sandbox Code Playgroud)
在您的asp:LinkButton标签使用:
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID") %>'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15184 次 |
| 最近记录: |