사용자 정의 컨트롤에 gridview 바인딩이 있고 페이지의 사용자 정의 컨트롤에서 해당 gridview에 액세스하고 내보내기를 사용하여 Excel에 액세스하려고합니다.usercontrol에서 property로 gridview에 액세스
access하려면 usercontrol에 속성을 만들었지 만 액세스 할 수 없습니다.
내 페이지의 usercontrol에서 gridview에 액세스하려면 어떻게해야합니까?
사용자 정의 컨트롤에 gridview 바인딩이 있고 페이지의 사용자 정의 컨트롤에서 해당 gridview에 액세스하고 내보내기를 사용하여 Excel에 액세스하려고합니다.usercontrol에서 property로 gridview에 액세스
access하려면 usercontrol에 속성을 만들었지 만 액세스 할 수 없습니다.
내 페이지의 usercontrol에서 gridview에 액세스하려면 어떻게해야합니까?
이유는 사용자 컨트롤에 ExportToExcel 방법을 쓰지 않는다하거나 공개 속성을 그리드에 refference를 반환 : 나는 interface
를 사용하여 좋아
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
}
}
그리고 당신의 usercontorl
public partial class UC1 : System.Web.UI.UserControl
{
public IExport MyExport { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
MyExport.Export();
}
}
희망이 도움이
당신 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에 액세스 할 수 있습니다 영문 페이지에 대한 자체 마스터 페이지