我有一个基本的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>