【问题标题】:Question about asp.net's button and its command function关于asp.net的按钮及其命令功能的问题
【发布时间】:2011-07-12 19:06:57
【问题描述】:

我是 .NET 和 ASP 的新手。在创建按钮时,在 MSDN 文档中,它谈到了使用命令而不是传统的提交功能,这正是我想要的。它还显示了使用OnCommand 属性设置要运行的方法。我使用了这种方法,果然得到了预期的结果,但注意到 VS2010 的属性窗格中没有 OnCommand 属性,也没有出现在代码视图中的 Intellisense 中。如果这个功能没有出现在 VS 的数据库中,为什么它可以实现?

【问题讨论】:

  • 我确实在按钮的属性资源管理器中列出了 CommandName 属性。
  • 这是一个带有 asp:Repeater 的按钮吗?或者这只是一个普通的旧asp:放置在页面上的按钮?
  • @Bala R 对不起,我犯了一个错误。我的意思是说“OnCommand”。我已经编辑了我的帖子。
  • @David Stratton 这个按钮只是直接放在一个测试页上,上面没有其他任何东西。
  • @nfw Command 是事件,而 OnCommand 是将事件与 EventHandler 链接的东西。只需切换到属性窗格中的事件并双击命令事件框,VS 将创建一个空事件处理程序。

标签: .net asp.net visual-studio-2010


【解决方案1】:

对于包括 asp:Button 在内的几乎所有控件,您都可以找到当您点击属性窗格上方的小闪电图片时它会触发的事件。单击此处列出的任何事件两次,VS 将为您创建一个事件处理程序。 oncommand 只是一个属性,指向由框架创建的标准方法,用于处理 Button 的命令事件。

在简单的情况下,您可能更喜欢使用 onclick 而不是不支持命令参数(和事件冒泡)的 oncommand。例如讨论了差异here。如果在设计视图中双击按钮,则可以创建 onclick 事件处理程序。

【讨论】:

    【解决方案2】:

    嗯,OnCommand 属性并不是真正的属性。它是 Button 声明性语法的一部分,用于以声明方式连接事件处理程序,通常在 c# 中。它在代码中没有任何用途,因为还有其他方法可以在代码中连接事件。

    如果您正在寻找要在事件处理程序中访问的按钮属性,请尝试System.Web.UI.WebControls.CommandEventArgs CommandNameCommandArgument,通常在Button.Command 处理程序中以e.CommandNamee.CommandArgument 访问。

    见:MSDN Button Reference


    编辑:我现在看到您问题的主要重点是“创建Button.Command 事件处理程序标头不是比手动输入更简单的方法吗?”,其他人已经巧妙地回答了。顺便说一句,如果您使用的是 VB,您还可以从代码窗口中选择对象/事件。

    【讨论】:

      猜你喜欢
      • 2019-12-24
      • 1970-01-01
      • 2015-02-24
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 2020-11-18
      • 2013-08-01
      相关资源
      最近更新 更多