文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>asp.net利用反射调用页面定义的方法

asp.net利用反射调用页面定义的方法

时间:2011-01-25  来源:DreamZero

故利用反射来执行页面的一些方法,可以省下不少事情。代码如下:

在page_load方法中,实现反射代码,并添加一个需反射执行的方法。先看一个没有参数的函数:

 

代码    protected void Page_Load(object sender, EventArgs e)
        {
          
            string methordName = "GetResString";
            // 或者  methordName = Request.QueryString["action"];
            Type t = this.GetType();
            MethodInfo method = t.GetMethod(methordName);
            if (method != null)
            {
                Response.Write((string)method.Invoke(this,null));
            }
            
        }     public string GetResString() 
    {
        return "Test";
    }

 


 

 运行的结果页面就可以在页面上输出Test字样了。

 

 添加一个需传参数的反射例子。

如:

代码    protected void Page_Load(object sender, EventArgs e)
        {
          
            string methordName = "GetResString";
            // 或者  methordName = Request.QueryString["action"];
            Type t = this.GetType();
            object[] paras={"小强",23};//方法需调用的参数
            Type[] typepara=new Type[paras.Length];
            for(int i=0;i<paras.Length;i++)
            {
                 typepara[i]=paras[i].GetType();
            }
            MethodInfo method = t.GetMethod(methordName,typepara);
            if (method != null)
            {
                Response.Write((string)method.Invoke(this, paras));
            }
            
        }

        public string GetResString(string name,int age) 
        {
            return string.Format("{0}已经{1}岁了", name, age);
        }

 

 

页面执行结果为:小强已经23岁了。

如果前台页面用:..Default.aspx?action=GetResString 也能达到同样的效果。

当然反射里面的东西比这个多多了,这只是个入门的东西,详细的大家可以查阅其他文档。

 

 

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载