ASP.Net 利用反射调用页面方法
现在很多的站点都是基于JQueryUI、ExtJS等等界面库开发的,可以说前台使用了大量的脚本及静态页面,而后台往往只做为请求页面数据来用,那么合理的利用反射,通过传递指令(或动作)的参数,调用页面的相关方法,便可以减少很多的代码量。
1、所有的页面都继承于一个基类BasePage
2、在BasePage类中OnLoad事件增加反射的代码
3、页面中增加相应的方法
string action = Request.QueryString["action"];
if (action != null)
{
Type t = this.GetType();
string result = (string)t.InvokeMember(action, BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod, null, this, null);
Response.Write(result);
Response.Flush();
Response.End();
}
例如,请求的地址:http://www.test.com/test.aspx?action=GetOperList
那么,只需要在test.aspx页面中有相应的 private string GetOperList() 方法,便能反射执行,返回相应的数据。
看起来有点像MVC框架中的Controller ^_^
相关文档:
设计意图:将login页面中的登录信息保存在login的Cookie中,转到Home页面时,利用得到的Cookie值就能自动登录
login页面前台关于Cookie的代码:
<td>
<asp:DropDownList ID= ......
步骤:
1. 新建一个WEB解决方案名称为HtmlStatic。
2. 在项目下建一个HtmlTemp.htm其代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head&g ......
Cookie为客户端信息存放对象,可以把用户的信息保存在用户本地,不必总是访问服务器
与Session不同,Session为用户全局变量,对于该用户的所有操作过程都有效。
//1。创建Cookie对象
HttpCookie newCookie = new HttpCookie("User");
//2。Cookie中添加信息项:为键值对,key/value
newCookie.Values.Add("Name" ......
错误 CS0001 编译器内部错误
错误 CS0003 内存溢出
错误 CS0004 提升为错误的警告
错误 CS0005 编译器选项后应跟正确的参数
错误 CS0006 找不到动态链接的元数据文件
错误 CS0007 .Net 环境初始化错误
错误 CS0008 从文件中读取元数据错 ......
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentException: 不支持 URI 格式。
源错误:
行 30: protected void BTNCLick(object sender, EventArgs e)
行 31: {
行 32: System.IO. ......