1

如何在日期时间变量类型上放置空值?

我试图使其为可空值,但我需要在ReportParameter()方法中使用它来将其发送到我的报告,但ReportParameter()构造函数不能采用可空值并且 ReportParameter() 仅采用字符串值!

4

2 回答 2

2

各种构造函数重载ReportParameter仅将字符串或字符串数​​组作为可接受的输入。

报告参数构造函数

ReportParameter.Values属性本身实际上是一个StringCollection为了强制序列化在编译时发生的。

报告参数属性

但是,您可以在将NULL 参数从 aspx 页面传递到报表服务器上的每个线程中传递一个带有字符串类型的空值,如下所示:

var rp = new ReportParameter("ServiceType_cd", new string[] { null });

或者根据这个问题Report Viewer: Set null value to Report Parameters have allow null tr​​ue,您可以传入这样的值:

string str = null;
var rp = new ReportParameter("ServiceType_cd", str));
于 2018-06-12T16:52:21.193 回答
1

您可以为此目的创建 FailIfNull() 扩展方法。请在此处查看有关扩展方法的更多信息。

于 2010-12-14T08:34:41.950 回答