【问题标题】:CommandArguments not being passed to event handler in ASP.NETCommandArguments 未传递给 ASP.NET 中的事件处理程序
【发布时间】:2015-05-11 17:59:51
【问题描述】:

这是一个简单的代码,不知道为什么CommandArgument 没有被传递给我的事件处理程序。这是我的aspx代码:

</td>
    <asp:Button ID="Button1" runat="server" Text="Update Me"
    CommandName="Update Name" ComandArgument="First,Second,Third,Fourth"
    OnCommand = "Button1IsClicked" />
</td>

这是我的代码:

       Protected Sub Button1IsClicked(ByVal sender As Object, ByVal e As EventArgs )

            Dim btn As Button = CType(sender, Button)
            Dim item As RepeaterItem = CType(btn.NamingContainer, RepeaterItem)

            Dim CommandName As String = btn.CommandName            
            Dim MyArgs As String() = btn.CommandArgument.Split(",")
            Dim CommandArgument1 As String = MyArgs(0)
           ' and so on

    End Sub

请注意,我的按钮是中继器项目之一。我得到 CommandNameCommandText 很好,但 MyArgs 始终是一个空字符串(btn.CommandArgument 始终是空的)。 CommandArgument 在 btn 和中继器项是一个空白字符串。我期待"First,Second,Third,Fourth" 作为它的价值。

我也尝试将 OnClick 作为事件,但无济于事。 知道可能出了什么问题吗?

【问题讨论】:

  • FWIW,我刚刚使用 VS2013 使用 Click 事件处理程序对此进行了测试,它运行良好......

标签: asp.net commandargument


【解决方案1】:

ComandArgument 拼写错误。它需要在以下行中为CommandArgument

CommandName="Update Name" CommandArgument="First,Second,Third,Fourth"

【讨论】:

  • 这是否解决了问题?如果是,请标记为答案。如果没有,请编辑以更新您的代码,我将删除此答案。
  • 非常感谢托尼,这太完美了。我依靠 MS 的智能来告诉我,但没有编译错误。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 2019-08-04
  • 2016-12-28
  • 2018-08-03
  • 1970-01-01
相关资源
最近更新 更多