我可以从 ControlParameter 获取 ParameterValue(而不是 DefaultValue)吗

Can I get the ParameterValue from a ControlParameter (instead of the DefaultValue)

我在尝试从 ControlParameter 中获取值时遇到了一些麻烦(在标记的 sqlDataSource 中声明)。

调试时,我得到这个:

如您所见,默认值是 "",但 ParameterValue"1" {String}。是否可以从后面的代码中获取 ParameterValue

附加信息:

还有什么我想念的吗?能不能只见树木不见森林?

与其尝试直接从 SqlDataSource 的参数中获取值,不如尝试查看已触发的事件(insertinginsertedselecting, selected, updating, updated, deletingdeleted).

请注意,默认的 Sub/void 使用 System.Web.UI.WebControls.SqlDataSourceStatusEventArgs (e)。这将包含发送到 SQL 服务器的参数。

使用 e,我们可以找到 e.Command.Parameters 并且在此集合中,您可以访问这些值。

例如,假设问题中的代码在 'updating' 或 'updated' 事件处理程序中 运行,您可以使用: e.Command.Paramters("metricGroupID").Value 这将 return 数据库将在 Update 命令中使用的值。