![](/img/trans.png)
[英]ListView add image button with CommandName, Visible, CommandArgument dynamically by calling Eval()
[英]CommandName CommandArgument trying to get demo working
我是菜鸟,正在尝试使用命令名和命令参数进行演示。 请教我如何使用asp:LinkButton
创建编辑按钮
<table>
<asp:Repeater ID="Repeater1" runat="server" >
<HeaderTemplate>
<tr>
<th> FirstName </th>
<th> LastName </th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# Eval("FirstName")%></td>
<td> <%# Eval("LastName")%></td>
<asp:LinkButton ID="EditButton" runat="server" Text="Edit" CommandName="EditName" CommandArgument="EditArgument" ></asp:LinkButton>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
您需要为链接按钮创建click事件处理程序,如下所示:
标记:
<table>
<asp:Repeater ID="Repeater1" runat="server" >
<HeaderTemplate>
<tr>
<th> FirstName </th>
<th> LastName </th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# Eval("FirstName")%></td>
<td> <%# Eval("LastName")%></td>
<asp:LinkButton ID="EditButton" runat="server" Text="Edit"
CommandName="EditName"
CommandArgument="EditArgument"
OnClick="OnClickHandler" >
</asp:LinkButton>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
代码隐藏:
protected void OnClickHandler(object sender, EventArgs e)
{
var theLinkButton = sender as LinkButton;
// The as operator returns null if the cast fails
// Check to see if link button exists before we try to use it
if(theLinkButton != null)
{
// Check for CommandName from markup
if(theLinkButton.CommandName = "EditName")
{
// Do logic here to edit name
}
// Other CommandName values could be handled here
}
}
注意:如果有另一个按钮,例如说Delete
,则可以使其OnClick
值指向相同的方法OnClickHandler
,然后传递不同的CommandName
值以使其执行不同的操作,从而使一个处理程序可以执行多个操作。
只需为转发器itemcommand事件添加事件处理程序
protected void Repeater_ItemCommand(object sender, RepeaterCommandEventArgs e)
{
if (e.CommandName == "EditName")
{
//TODO something
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.