我试图从ascx控件中检索两个列表视图,以将它们保存到PDF文件中:

<TagCloud:TagCloudControl ID="TagCloudControl1" runat="server" />


我收到以下错误:TagCloudControl1是一个字段,但像类型一样使用,并且非静态字段,方法或属性需要对象引用...感谢您的帮助!

ListView lv1 = (TagCloudControl1)ListView.FindControl("ListView1");
ListView lv2 = (TagCloudControl1)ListView.FindControl("ListView2");

lv1.RenderControl(htWriter);
lv2.RenderControl(htWriter);

最佳答案

我从未见过或使用静态的FindControl()方法。

From MSDN for FindControl()


  搜索当前的命名容器
  用于带有
  指定的id参数。


显然,如果您要查找的列表视图不在模板中,则应该可以直接在代码隐藏中访问它们。但是,如果它在诸如GridView的Row之类的模板中,则可以像这样访问它。

ListView listView1 = (ListView) GridView1.Rows[0].FindControl("ListView1");

10-07 18:07