日期:2014-05-18  浏览次数:20415 次

asp.net 2.0中 用户控件如何引用它所在的页面
我的情况是这样的,做了一个相册页面,显示很多相册,其中的相册就是一个用户控件来的,
这个用户控件里面显示一张照片另外有一个删除按钮,点击删除以后,直接操作数据库删除,但之后我需要调用父页的一个方法去刷新。

我知道在这个用户控件里面可以调用this.page访问它所在的页面,但是需要转换类型
我直接在用户控件的代码页中写 album 好像是不行的。我试着先去引用它。
<%@ reference page="album.aspx" %>
这样智能提示是可以显示 album类出来,但运行过程中却报错说,不允许循环文件引用。

页面:album.aspx
控件:ucAlbum.ascx

------解决方案--------------------
帮LZ顶
------解决方案--------------------
何必要做成用户控件呢??
------解决方案--------------------
楼主,首先说一下我的理解

1.aspx页面,在不同的编译模型下,有时候其最终的类名是不确定的
所以你说的,从控件中引用page并转换成指定的类型,不一定行得通

2.建议的方式

在用户控件上声明一个委托(delegae)
在页面上把页面的刷新方法,挂载到控件声明的委托上去

然后用户控件内部只要执行这个委托就可以了

if(refresh!=null)
{
refresh();
}
------解决方案--------------------
帮顶了


------解决方案--------------------
ucAlbum.ascx.cs

btnSubmit_Click()
{
//提交
Response.Write("<script>window.location.reload();</script>");
Response.End();
}