如何在C#中从sql linq生成html表?

如何在C#中从sql linq生成html表?,c#,sql,asp.net,linq,C#,Sql,Asp.net,Linq,我只想在占位符中添加一个html表,而不需要遍历所有单元格和行 我的sql语句是这样的,但VS不可供我调试,我不确定如何处理q作为迭代的长度/计数。我对这一点还不熟悉,所以在我的头脑中想出正确的词汇表来寻找这个解决方案是很困难的 是否有一个简单的linq语句将其放在占位符中 var q = from kvp2 in entityToCluster join kvp3 in clusterToQVR on kvp2.Value equals kvp3.Key where kvp2.Key == p

我只想在占位符中添加一个html表,而不需要遍历所有单元格和行

我的sql语句是这样的,但VS不可供我调试,我不确定如何处理q作为迭代的长度/计数。我对这一点还不熟悉,所以在我的头脑中想出正确的词汇表来寻找这个解决方案是很困难的

是否有一个简单的linq语句将其放在占位符中

var q = from kvp2 in entityToCluster
join kvp3 in clusterToQVR on kvp2.Value equals kvp3.Key
where kvp2.Key == prim_in.ToUpper() || kvp2.Key == ref_in.ToUpper()
select new {entity = kvp2.Key, cluster = kvp2.Value, qvRule = kvp3.Value};
Console.WriteLine("column1 = {0}, column2 = {1}, column3 = {2}, q.entity, q.cluster, q.qvRule");
显然,写入行对服务器不起作用。通常情况下,我:

        Table tbl = new Table();
        TableRow tr = new TableRow();
        TableCell tc = new TableCell();

        (iterate through)


        PlaceHolder1.Controls.Add(tbl);
如果有人有一个简单的方法来完成我创建的任何q,这将有助于我的学习指数

您就快到了:)在“迭代”的地方,您将使用循环。在这种情况下,它看起来像
foreach(q中的var行)
,其中
line
表示每次
foreach
循环迭代时查询的单个结果

对于每个迭代,您将创建一个新的
TableRow
对象,并将其添加到带有
tbl.Rows.add
的表中

由于单元格是基于命名属性的,因此不能轻松地对这些属性使用循环。相反,为每一行划一行,将其添加到您的行中。例如,如果
TableRow
对象的名称是
TableRow
,您可以对
实体
属性执行如下操作:

var entityCell = new TableCell();
entityCell.Text = line.entity.ToString();
tableRow.Cells.Add(entityCell);
根据要对单元格执行的操作,可能还需要设置其他属性。您可以找到一个包含描述的列表


这足以让您继续吗?

可能会帮助您为什么不使用
DataGrid
GridView
之类的工具?有人能告诉我怎么做吗?dataGridView1.DataSource=q;&没有显示任何内容尝试类似var dataSource=q.ToList()的内容;然后将GridView绑定到dataSource@MarkMcGown:正如@David指出的,学习
GridView
''是一个好主意,它提供了很多力量。但我鼓励您首先了解如何使
工作,因为这将为您提供有用的一般概念。