Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从usercontrol访问gridview作为属性_C#_Asp.net - Fatal编程技术网

C# 从usercontrol访问gridview作为属性

C# 从usercontrol访问gridview作为属性,c#,asp.net,C#,Asp.net,我在用户控件中绑定了gridview,希望从页面中的用户控件访问该gridview,并使用导出到excel 我在usercontrol中创建了要访问的属性,但无法访问它 如何从页面中的usercontrol访问gridview?为什么不将ExportToExcel方法写入用户控件,或者只创建一个公共属性并将引用返回到网格: public GridView MyGrid { get{ return this.GridView1;} } 我喜欢使用界面 您可以创建一个接口并在网页上实现它。

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

我在usercontrol中创建了要访问的属性,但无法访问它


如何从页面中的usercontrol访问gridview?

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

public GridView MyGrid
{
    get{ return this.GridView1;}
}

我喜欢使用
界面

您可以创建一个接口并在网页上实现它。使用usercontrol中的接口对象,可以调用接口方法

例如, 接口

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();
    }
}

希望这对您有所帮助

如果您对您的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");