我想知道如果这些表中的主键名称不同,是否有一种方法可以使用 datakeynames 来访问不同表的主键。
例如,我有一个名为 Table1 和 Table2 的表,其中主键分别是 Table1ID 和 Table2ID。
我的最终目标是将两个表的内容合并到 1 个网格视图中,并为每一行生成一个超链接。所以我的 c# 看起来像这样:
protected void Page_Load(object sender, EventArgs e)
{
SqlCommand command = new SqlCommand("(SELECT Table1ID, Title FROM Table1" +
"UNION ALL SELECT Table2ID, Title FROM Table2)", connection);
GridView1.DataBind();
}
然后在我的 Gridview_Databound 方法中,我会单独为每一行设置超链接。问题是如何访问 Table1ID 和 Table2ID?在我的 .aspx 代码中,我可以将其设置为 BoundField,因为 DataField 不一致吗?我不能只执行以下操作,因为它会忽略 Table2ID 对吗?
<asp:BoundField DataField="Table1ID"/>
也许我需要使用 templateField 之类的?