1

我正在使用 ASP.net WebMatrix

我有一个如下所示的 sql 查询:

var queryformdata = db.Query("SELECT * FROM document_data WHERE doc_id = @0", 1534);

doc_id      field_data      field_name
----------  ----------      ----------
1534        John            f_name
1534        61st Street     f_address

并输入如下所示的字段:

<input type="text" id="f_name" name="f_name" value="" />
<input type="text" id="f_address" name="f_address" value="" />

我希望 f_name 出现“John”的值,f_address 出现“61st Street”

我知道 field_data 的值,但不知道如何在不对每个输入字段进行单独查询的情况下从查询中提取它。我找到了一个名为 .Select() 的 C# 函数,但无法让它工作。这是我尝试过的:

@{
    DataRow[] foundRows;
    foundRows = queryformdata.Select("field_name LIKE 'f_name'");                
}
<input type="text" id="f_name" name="f_name" value="@foundRows.field_data" />

这给了我错误:编译器错误消息:CS0411:方法'System.Linq.Enumerable.Select(System.Collections.Generic.IEnumerable,System.Func)'的类型参数无法从用法中推断出来。尝试明确指定类型参数。

有人可以帮我弄清楚如何使这项工作。

谢谢

4

1 回答 1

2

代替:

@{
DataRow[] foundRows;
foundRows = queryformdata.Select("field_name LIKE 'f_name'");                

}

尝试这个:

@foreach(var queryformdata = db.Query("SELECT * FROM document_data WHERE doc_id = @0", 1534)) {
    <input type="text" id="@queryformdata.field_name" name="@queryformdata.field_name" value="@queryformdata.field_data" />
}
于 2013-06-18T22:57:13.880 回答