需求很简单:控件触发事件时需要调用page的PageFunction函数。现在的思路:声明一个接口实现该方法
public interface ITest
{
void PageFunction();
}
限制page实现该接口
public partial class WebUserControl<T>: System.Web.UI.UserControl where T:ITest
{
//.............
}请问调用的时候该怎么写?
((T)this.Page.GetType).GridViewBindData();
上面那样可以吗?不用反射是因为反射的效率很低,速度上达不到要求。
public interface ITest
{
void PageFunction();
}
限制page实现该接口
public partial class WebUserControl<T>: System.Web.UI.UserControl where T:ITest
{
//.............
}请问调用的时候该怎么写?
((T)this.Page.GetType).GridViewBindData();
上面那样可以吗?不用反射是因为反射的效率很低,速度上达不到要求。
解决方案 »
- 如何让自己的百度空间可以在百度搜索得到呢?
- asp.net快速入门教程连接数据库出错
- discuz!nt 2.0 的源代码怎么看的啊
- 做了一个留言簿,大家指点一下
- DOT NET研讨群,群号16450496希望对DOT NET有兴趣爱好的朋友加入
- 谁用用ASP.NET 做过后台管理啊?特别是权限设计
- 关于在后台动态添加图像坐标链接的问题
- 如何给DataGrid中的一个列实现统计功能
- 关于得用web.config设置来连接数据库的问题,哪位大家帮忙看看
- 小白求急救!!!!.net系统无法与外部系统同步~~哭~~~~
- 请教高手,跪求这程序的问题?
- asp.net中session失效后跳到另一页面怎么写
直接调用接口的PageFunction函数
{
Function fu;
private string _id;
public string id
{
get
{
string tempid = "";
if (ViewState["id"] != null)
{
tempid = ViewState["id"].ToString();
}
return tempid;
}
set { ViewState["id"]=_id = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
publice void BindDropDowsList()
{
this.DropDownList1.DataSorce=BindGroup();
this.DropDownList1.DataTextField="name";
this.DropDownList1.DataValueField="key";
this.DropDownList1.DataBind();
}
Dictionary<string, string> BindGroup()
{
Dictionary<string, string> group =
new Dictionary<string, string>(); group.Add("超级管理员", "0");
group.Add("管理员", "1");
group.Add("用户", "2");
group.Add("只读", "3");
return group;
}
}
--------------------------
在用到用户控件的地方用 控件.BindDropDowsList()即可
但是我的需求是控件调page的函数,可否再详细说明一下?
都这么继承了,不反射,好像也做不到绑定吧?
本身继承的就是接口,不反射,也不知道你要实例化那一个类,还有你也没有贴出继承这个接口的类,你要反射什么啊?有点晕。