以下是我的课程的一些属性。还有另一个类DNRole列表<T>和GridView绑定
private Int32 _IDMarketingCampaign;
private String _Name;
public Int32 IDMarketingCampaign
{
get { return _IDMarketingCampaign; }
set { _IDMarketingCampaign = value; }
}
public String Name
{
get { return _Name; }
set { _Name = value; }
}
public DPRole DNRole = new DPRole();
的公共对象在同一类我有一个方法returnig列表。除了我的常规字段外,我还在填充我的DNRole对象的一个字段:
listItem.DNRole.RoleName = dr [“RoleNameFK”]。ToString();
我的问题是......这是合法的,应该怎么做,如果是,我该如何在girdview中显示数据?
public List<MarketingCampaign> SelectForGrid(string strRoleName)
{
List<MarketingCampaign> lista = new List<MarketingCampaign>();
SqlCommand command = new SqlCommand("fra_MarketingCampaignSelectForGrid ", conn);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("RoleName", SqlDbType.VarChar).Value = strRoleName;
SqlDataReader dr = null;
try
{
conn.Open();
dr = command.ExecuteReader();
while (dr.Read())
{
MarketingCampaign listItem = new MarketingCampaign();
listItem.IDMarketingCampaign = Convert.ToInt32(dr["IDMarketingCampaign"]);
listItem.Name = dr["Name"].ToString();
listItem.DNRole.RoleName = dr["RoleNameFK"].ToString();
...
lista.Add(listItem);
}
在这种情况下,我使用的ObjectDataSource。 Eval(“Name”)用常规字段来做这个诀窍。我的问题是,listItem.DNRole.RoleName ...我不能只是去写Eval(“DNRole.RoleName”).... – Leon
@Leon然后你使用我写的关于直接演员: ((MarketingCampaign )Container.DataItem).DNRole.RoleName – Dewfy
@Dewfy我明白了...谢谢。这很好用! – Leon