C# 数据文本字段来自字段';s属性
我有类似的课程C# 数据文本字段来自字段';s属性,c#,asp.net,datatextfield,C#,Asp.net,Datatextfield,我有类似的课程 public class A { public string name; } public class B { public int Id; public A obj; } 然后,我有ASP.NETWebForms应用程序和带有ListBox控件的页面 我想将List设置为ListBox的数据源 List<B> list = ...; //fill data lbx.DataSource = list; lbx.DataValueField
public class A
{
public string name;
}
public class B
{
public int Id;
public A obj;
}
然后,我有ASP.NETWebForms应用程序和带有ListBox控件的页面
我想将List
设置为ListBox
的数据源
List<B> list = ...; //fill data
lbx.DataSource = list;
lbx.DataValueField = "Id";
lbx.DataTextField = A.name; //how can I do it?
lbx.DataBind();
List=//填充数据
lbx.DataSource=列表;
lbx.DataValueField=“Id”;
lbx.DataTextField=A.name//我怎么做?
lbx.DataBind();
所以,我的问题是:如何将DataTextField链接到列表中对象的属性
谢谢大家! 您可以在B类中为名称创建属性。比如说
public class B
{
public int Id;
public A obj;
public string Name{ get {return obj.name;}}
}
把它当作
lbx.DataTextField=“Name”代码>不确定您使用的listbox控件是否支持嵌套属性(我知道有第三方控件支持嵌套属性),如下所示:
lbx.DataTextField = "obj.name"
如果不支持,则将A的嵌套属性包装到B的另一个只读属性中:
public class B
{
public int Id;
public A obj;
public string NameOfA
{
Get{return obj.name;}
}
}
然后:
lbx.DataTextField = "NameOfA"
DataTextField
接受字符串。是的,我知道。但是有没有办法解决我的问题呢?如果可能的话,试试B继承自A(B:A)