asp.net - LinkBut​​ton CommandName和CommandArgument

标签 asp.net linkbutton

我在理解与ASP.NET LinkBut​​ton关联的CommandNameCommandArgument时遇到问题。我已阅读此文章-http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.commandname.aspx以及本网站上的其他问题。

我想我的问题是-“命令”到底是什么? CommandName基本上可以是任何文本吗?我以“排序”和“提交”为例。至于CommandArgument,它仅用于进一步指定“命令”的类型。正确?
非常感谢您的帮助。

最佳答案

Command可以是您想要的任何内容。

基本思想是,如果您说有一个中继器,并且在该中继器中有多个选项,则可以为每个选项指定不同的CommandName。然后,CommandArgument将基于该行的唯一标识符。

然后,在回发后,您可以检查触发了哪个CommandName,并根据该使用情况使用CommandArgument中的值

例如,标记看起来可能类似于...

<asp:Repeater runat="server" id="myRepeater">
  <ItemTemplate>
    <div>
      <asp:LinkButton runat="server" id="lnkEdit" CommandName="edit" 
        CommandArgument="<%#Container.DataItem.Id%>" Text="Edit" 
        OnClick="OnClickHandler" />
      <asp:LinkButton runat="server" id="lnkDelete" CommandName="delete" 
        CommandArgument="<%#Container.DataItem.Id%>" Text="Delete"
        OnClick="OnClickHandler" />
    </div>
  </ItemTemplate>
</asp:Repeater>


然后,您的后包装处理程序可以检查查看单击了哪个...

Protected Sub OnClickHandler(ByVal sender As Object, ByVal e As EventArgs)
  Dim lnk as LinkButton = CType(sender,LinkButton)
  Select Case lnk.CommandName
    Case "edit"
      EditItem(lnk.CommandArgument)
    Case "delete"
      DeleteItem(lnk.CommandArgument)
  End Select
End Sub

关于asp.net - LinkBut​​ton CommandName和CommandArgument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363061/

相关文章:

asp.net - 如何使(链接)按钮具有超链接功能?

asp.net - 使用非 Web 应用程序中的 Asp.Net MVC 路由(测试)

c# - 无法更改 CodeBehind 中 LinkBut​​ton 的属性

c# - CreateUserIdenityAsync 为自定义 IdentityUser 返回 "UserId not found"异常

asp.net - 是否可以在构建服务器上预编译 ASP.NET Web 窗体项目?

updatepanel - ASP .NET 在 UpdatePanel 内使用带有 UpdateProgress 的中继器

c# - Repeater 中的 LinkBut​​ton 会导致回发,而按钮则不会

jquery - 单击使用 jquery 将类添加到 aspx linkbutton

javascript - ASP.NET MVC Web API 使用 jQuery Ajax 删除调用,数据参数不起作用

c# - Webform 中的 HTML 助手?