2012-12-05 4 views
0

사용자 정의 컨트롤에 gridview 바인딩이 있고 페이지의 사용자 정의 컨트롤에서 해당 gridview에 액세스하고 내보내기를 사용하여 Excel에 액세스하려고합니다.usercontrol에서 property로 gridview에 액세스

access하려면 usercontrol에 속성을 만들었지 만 액세스 할 수 없습니다.

내 페이지의 usercontrol에서 gridview에 액세스하려면 어떻게해야합니까?

답변

1

이유는 사용자 컨트롤에 ExportToExcel 방법을 쓰지 않는다하거나 공개 속성을 그리드에 refference를 반환 : 나는 interface를 사용하여 좋아

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

.

인터페이스를 만들어 웹 페이지에 구현할 수 있습니다. 그리고 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 
    } 
} 

그리고 당신의 usercontorl

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

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

희망이 도움이

0

당신 U 경우 당신이 페이지를

Page mypage= this.Page; 
    GridView mypageGridview = (GridView)mypage.FindControl("YourGridView"); 
을 마스터하지 않은 경우이 방법

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

에 사용자 컨트롤에 페이지의 GridView에 액세스 할 수 있습니다 영문 페이지에 대한 자체 마스터 페이지

관련 문제