我在用户控件中有gridview 绑定,并希望从页面中的用户控件访问该gridview 并使用导出到excel。
我在用户控件中创建了要访问的属性,但我无法访问它。
如何从我的页面中的用户控件访问 gridview?
为什么不将 ExportToExcel 方法写入用户控件,或者只是创建一个公共属性并将引用返回到网格:
public GridView MyGrid
{
get{ return this.GridView1;}
}
我喜欢使用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();
}
}
希望这可以帮助
如果您为您的 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");