我目前使用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>
我很乐意让这个工作,或提出可能的替代方案,取决于哪个是最好的。
答案 0 :(得分:0)
请勿将数据层代码与GUI代码混合使用。
你应该绑定到(一个)通用对象的集合(你做的一个)........和SEPARATELY .........填充(一个集合)那些不同的对象业务逻辑/数据层调用。
[Serializable]
public class ValueHolder
{
public string Value01 { get; set; }
public string Value02 { get; set; }
}
public class ValueHolderCollection : List<ValueHolder>
{}