如何通过UserControl设置对象?

时间:2014-07-08 15:06:15

标签: c# webforms user-controls

这是我的代码:

<uc4:RotatorTestata ID="RotatorTestata2" PaginaPer='<%#Eval("myObject")%>' runat="server" />

myObject是类型MyObject。 另一方面,我有:

public MyObject PaginaPer { get; set; }

但它无法传递myObject实例。它始终为空。 我哪里错了?

1 个答案:

答案 0 :(得分:1)

在你的代码中加入一个函数并调用该函数代替Eval。

<uc4:RotatorTestata ID="RotatorTestata2" PaginaPer='<%# GetMyObject()%>' runat="server" />


MyObject GetMyObject()
{
  return myobject instance here. 
}

你也可以在后面的代码中执行此操作,如

RotatorTestata2.PaginaPer = new MyObject();

如果它在GridView / Repeater内,你可以捕获RowDataBoundEvent并像

一样写
Protected void OnRowDataBound(Object sender, GridViewRowEventArgs e) 
{
   var  rotator    e.Row.FindControl("RotatorTestata2") as RotatorTestata ;
   rotator.PaginaPer= new MyObject();
}