用webgrid中的字符串替换空值

时间:2016-01-09 16:12:12

标签: null webmatrix webgrid

我正在使用webmatrix,我想在我的变量" grid"中存储一个webgrid,但是我希望我创建它的表中的一列中的所有空值都被替换为字符串:" aString"。   我使用以下代码从数据库表中加载网格变量。

@{
var db = Database.Open("databaseName");
var selectedData = db.Query("SELECT * FROM TableName");
var grid = new WebGrid(source: selectedData, rowsPerPage: 500); 
}

有没有简单的方法呢?

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题。一种方法是更改​​SQL,以便不返回null。例如,你可以把:

var selectedData = db.Query("SELECT *, coalesce(OriginalField, 'aString')  AS improvedField FROM TableName");

coalesce()函数用您想要的字符串替换空值。 “AS”表示结果应该别名为名为“改进字段”的字段。

我在上面提到的代码的一个缺点是,因为它中包含*,你将得到带有空值的原始字段和没有空值的改进字段。您可以将*替换为您想要的所有字段的列表。

另一种方法不是更改SQL,而是在使用它时更改输出。这取决于你正在做什么,所以我不会在这里展示一个例子。