我有一个 Results.aspx 页面,它显示通过 ListView 使用 SqlDataSource 对象查询的结果记录。我想添加一个“查看”按钮,该按钮将显示在每条记录旁边,单击后将进入一个单独的页面,该页面将显示有关该记录的详细信息。我该如何实现这个目标?
编辑
我已经尝试过你所说的,香茅,这就是我的想法:
<td>
<asp:CheckBox ID="CheckBox1" runat="server" />
</td>
<td>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="ViewButtonClick" CommandArgument='<%# Eval("ServiceId") %>'>View</asp:LinkButton>
</td>
这是我想要调用的方法:
protected void ViewButtonClick(object sender, CommandEventArgs e)
{
var serviceId = Convert.ToInt32(e.CommandArgument);
ServiceToView = DataAccessLayer.Service.Select(new Service { ServiceId = serviceId });
Server.Transfer("~/ViewService.aspx");
}
不幸的是,实际上什么也没发生......我错过了什么吗?
编辑——已修复
我错过了一些东西!我的 CommandName 等于我的方法名称,而不是 OnCommand。我取出 CommandName,保留参数位并将 CommandName 替换为 OnCommand。现在一切正常,但我需要 CommandName 做什么?
最佳答案
您可以将 LinkButton 添加到 ListView 的 ItemTemplate 中。
将标识每条记录的值绑定(bind)到 LinkButton 的 CommandArgument。
订阅 LinkButton 的命令事件。在那里您可以访问 CommandEventArgs.CommandArgument
关于asp.net - 在 ASP.NET 的 ListView 中创建自定义按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5101136/