原来的:using System;
using System.Reflection;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Reflection.Assembly asm = Assembly.Load("__code");
Type tp = asm.GetType("Tools");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("Reg");//反射方法
object ret = mi.Invoke(o, null);//执行方法
string str = ret.ToString();//获取结果
}
}
}using System;
///
/// Test 的摘要说明
///
public class Tools
{
public string Reg()
{
return "aa";
}
}测试OK
现在我改为System.Reflection.Assembly asm = Assembly.Load("__code");
Type tp = asm.GetType("System.Web.UI.ScriptManager");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("RegisterClientScriptBlock");//反射方法
Type tpUpPanel = asm.GetType("System.Web.UI.UpdatePanel");
object[] objPara = new Object[] { (Page)System.Web.HttpContext.Current.Handler, tpUpPanel, "Message", "alert('Message')", true };
object ret = mi.Invoke(o, objPara);//执行方法
string str = ret.ToString();//获取结果
}
这里的tp就为null了还有我想问一下 这个“__code” 是什么东西 以前的“ASP.”还知道
但这个__code 在程序里面都引用不出谢谢
using System.Reflection;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.Reflection.Assembly asm = Assembly.Load("__code");
Type tp = asm.GetType("Tools");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("Reg");//反射方法
object ret = mi.Invoke(o, null);//执行方法
string str = ret.ToString();//获取结果
}
}
}using System;
///
/// Test 的摘要说明
///
public class Tools
{
public string Reg()
{
return "aa";
}
}测试OK
现在我改为System.Reflection.Assembly asm = Assembly.Load("__code");
Type tp = asm.GetType("System.Web.UI.ScriptManager");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("RegisterClientScriptBlock");//反射方法
Type tpUpPanel = asm.GetType("System.Web.UI.UpdatePanel");
object[] objPara = new Object[] { (Page)System.Web.HttpContext.Current.Handler, tpUpPanel, "Message", "alert('Message')", true };
object ret = mi.Invoke(o, objPara);//执行方法
string str = ret.ToString();//获取结果
}
这里的tp就为null了还有我想问一下 这个“__code” 是什么东西 以前的“ASP.”还知道
但这个__code 在程序里面都引用不出谢谢
解决方案 »
- aspx vs中的 在浏览器查看很正常, 放到iis里,数据库链接就有问题
- 访问Oracle数据库记录太多客户端等待太久的问题
- asp.net 问题
- 从无到有``从头学起,怎样掌握ASP.NET~?(对编程热心的门外汉提问) 求助
- 关于WebService调用的问题
- 想请问一些,大家做多层的网站时的步骤是怎样的》
- Repeater问题,高手入!!!在线等!!!!
- !!!如何编写DataList项模板中按钮的事件?
- CollapsiblePanelExtender问题--怎么实现
- 关于URL的问题!望大家帮忙!
- table动态添加单元格
- 请问vs.net2008如何创建“ASP.NET 移动 Web 应用程序“?
System.Web.UI.ScriptManager不在App_Code中,当然唯null啦
那System.Web.UI.ScriptManager
在什么地方啊
-------------------------------------System.Web.UI
没有啊
System.Reflection.Assembly asm = Assembly.Load("System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
Type tp = asm.GetType("System.Web.UI.ScriptManager");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("RegisterClientScriptBlock");//反射方法
Type tpUpPanel = asm.GetType("System.Web.UI.UpdatePanel");
object[] objPara = new Object[] { (Page)System.Web.HttpContext.Current.Handler, tpUpPanel, "Message", "alert('Message')", true };
object ret = mi.Invoke(o, objPara);//执行方法
string str = ret.ToString();//获取结果
}不过我觉得你这个代码应该还是有问题的,因为RegisterClientScriptBlock有多个重载版本,你获取mi的时候应该会出错
System.Reflection.Assembly asm = Assembly.Load("System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35");
Type tp = asm.GetType("System.Web.UI.ScriptManager");
if (tp != null)
{
object o = Activator.CreateInstance(tp);//创建实例
MethodInfo mi = tp.GetMethod("RegisterClientScriptBlock", new Type[] { typeof(Control), typeof(Type), typeof(string), typeof(string), typeof(bool) });//反射方法
mi.Invoke(o, new object[] { this, this.GetType(), "Message", "alert('Message')", true });
}
测试通过了
System.Reflection.Assembly asm = Assembly.Load("__code");
改为System.Reflection.Assembly asm = Assembly.LoadFrom("D:\\Tools.dll"); //这样比较直观点,Tools.dll类库所生成的dll