0

我目前正在使用 asp:NET 标签绑定数据,如下所示:

<ItemTemplate>
  <asp:Label ID="hhmIdLabel" runat="server" Text='<%# Eval("name") %>'/>
</ItemTemplate>

但是,我想要一个不需要我按列名绑定数据的解决方案,因为我们之后的解决方案将使用几个不同的表(所有表都具有相同的结构,但列名不同)。

这是我在 C# 中的后端:

SqlCommand selectCommand = new SqlCommand("select CRY_HHM_ID, CRY_HRY_KEY from [WH_EXT].[dbo]." + tablesDropDownList.SelectedItem.ToString()+" where "+colName+"= '"+selectedChildKey+"'", myConnection);
myReader = selectCommand.ExecuteReader();

DataTable dt = new DataTable();
dt.Load(myReader);

this.selectedLeafGridView.Visible = true;
selectedLeafGridView.DataSource = dt;
selectedLeafGridView.DataBind();  

类似于这个LINK的解决方案可能有意义,但是,我无法理解它是如何工作的:

<ItemTemplate>
  <%# ((DbDataRecord)Container.DataItem).GetString(0)%>
</ItemTemplate>

我很乐意让这个工作,或者提出可能的替代方案,这取决于哪个是最好的。

4

1 回答 1

0

不要将数据层代码与 GUI 代码混用。

你应该绑定到一个(一个集合)通用对象(一个你制作的对象)............并单独............用不同的业务逻辑填充这些对象的(一个集合)/数据层调用。

[Serializable]
public class ValueHolder
{
    public string Value01 { get; set; }                         
    public string Value02 { get; set; }     
}

public class ValueHolderCollection : List<ValueHolder>
{}
于 2013-07-16T17:34:03.753 回答