Webmatrix / Razor从SQL列中获取数据,名称中有空格



我有一个基本的WebMatrix CSHTML页面,我正在查询返回一些数据的存储过程。有几列里面有空格。我不能修改列名(不是我的数据库)。此外,由于我没有做SELECT FROM,我不能在列上做AS New_Name。因此,使用我从特定行/列获取值的代码,我如何使用空格指定列名?

var db = Database.Open("MyDb");
var sql = @"EXEC myProcedure";
var result = db.Query(sql);
var header_value = result.ElementAt(0);
.
.
.
@header_value.ColumnName

假设列的名称为"Test column"我试着

 @header_value.["Test Column"]

 @header_value["Test Column"]

 @header_value[Test Column]

这些都不起作用。是否有任何方法可以指定在我的应用程序中有一个空间的列,而无需更改后端列?

有三种方法可以检索动态记录列的值

使用列索引(例如@header_value[1]),

使用列名(例如@header_value["Test Column"]),

或使用列名作为属性(例如@header_value.columnName,但如果列名有空格,则不能使用此方法)。

我不知道为什么列名方法对你不起作用。您收到任何错误信息吗?

无论如何,您可以使用如下代码片段查看动态记录的列名:
<div>
    @foreach(var col in header_value.Columns){
        <p>@col</p>
    }
</div>

最新更新