0

我在用户控件中有gridview 绑定,并希望从页面中的用户控件访问该gridview 并使用导出到excel。

我在用户控件中创建了要访问的属性,但我无法访问它。

如何从我的页面中的用户控件访问 gridview?

4

3 回答 3

1

为什么不将 ExportToExcel 方法写入用户控件,或者只是创建一个公共属性并将引用返回到网格:

public GridView MyGrid
{
    get{ return this.GridView1;}
}
于 2012-12-05T13:12:42.560 回答
0

我喜欢使用interface.

您可以创建一个接口并在网页上实现它。而在用户控件中使用一个接口对象,就可以调用接口方法。

例如,接口

public interface IExport
{
    void Export();
}

您的网页

public partial class _Default : System.Web.UI.Page, IExport
{
    protected void Page_Load(object sender, EventArgs e)
    {
        UC11.MyExport = this;
        //UC11 will be whatever name of your usercontrol
    }

    public void Export()
    {
        //your export code
    }
}

还有你的用户控制

public partial class UC1 : System.Web.UI.UserControl
{
    public IExport MyExport { get; set; }

    protected void Page_Load(object sender, EventArgs e)
    {
        MyExport.Export();
    }
}

希望这可以帮助

于 2012-12-05T13:28:29.570 回答
0

如果您为您的 aspx 页面使用母版页,您可以通过这种方式在您的用户控件中访问您的页面 GridView

 Page mypage= this.Page;
  GridView mypageGridview = (GridView)mypage.Master.FindControl("ContentPlaceHolder1").FindControl("YourGridView");

如果您没有母版页

 Page mypage= this.Page;
    GridView mypageGridview = (GridView)mypage.FindControl("YourGridView");
于 2012-12-05T13:30:04.543 回答