public class EventDetail
{
private Int64 logID;
public Int64 LogID
{
get { return logID; }
set { logID = value; }
}
private Object logedObject;
public Object LogedObject
{
get { return logedObject; }
set { logedObject = value; }
}
}
答案 0 :(得分:1)
首先,你不需要使用字段,如果你没有在属性中做任何事情,那么设置它。
public Object LogedObject { get; set; }
就够了。
其次,要在DataGrid中显示对象列表,例如。
protected void Page_Load(object sender, EventArgs e)
{
DataGrid dg = new DataGrid();
dg.DataSource = getModels();
dg.DataBind();
}
public List<EventDetail> getModels()
{
var m = new List<EventDetail>();
for (int a = 0; a < 15; a++)
{
m.Add(new EventDetail() { prop1 = a, prop2 = string.Format("Prop2 {0}", a) });
}
return m;
}
public class EventDetail
{
public Int64 LogID { get; set; }
public Object LogedObject { get; set; }
}
答案 1 :(得分:0)
查看DataBinder类,它应该允许你做你想做的事情; - )
答案 2 :(得分:0)
要与GridView(或类似的控件,如Repeater,ListView)绑定,您通常需要知道对象的属性名称,因为这是您将用于绑定列的内容。这个例子就是这样,你可以绑定到LogID和LogedObject属性。稍后,将在对象上调用ToString以显示字符串表示。
答案 3 :(得分:0)
如果您只需要绑定logedevent,而不是返回类EventDetail的集合,请执行以下操作。在其他一些集合中提取LogedObject的集合或
直接将其绑定到网格
protected void BindGrid()
{
gv.DataSource = EventDetail_Object.LogedObect_Property_Of_Class;
gv.DataBind();
}
答案 4 :(得分:0)
任何身体的坦克帮助我 我通过反思来解决这个问题 我使用refelection来获取我的对象的属性值,然后将此值添加到我的字符串列表
//exteract properties of loged object
PropertyInfo[] _PropertyInfo = _ObjectType.GetProperties();
List<string> _ObjBeforTostring = new List<string>();
//_ObjBeforTostring.Add("");
_ObjBeforTostring.Add("*************Befor Object**********");
_ObjBeforTostring.Add("");
foreach (PropertyInfo pf in _PropertyInfo)
{
if (_objbefor != null)
{
string _str = pf.GetValue(_objbefor, null).ToString();
_ObjBeforTostring.Add(pf.Name.ToString() + " :: ( " + _str + " )");
_ObjBeforTostring.Add("==============================");
}
}
_ObjBeforTostring.Add("");
_ObjBeforTostring.Add("*************After Object**********");
_ObjBeforTostring.Add("");
foreach (PropertyInfo pf in _PropertyInfo)
{
if (_objAfter != null)
{
string _str = pf.GetValue(_objAfter, null).ToString();
_ObjBeforTostring.Add(pf.Name.ToString() + " :: ( " + _str+" )");
_ObjBeforTostring.Add("==============================");
}
}