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 ^_^
相关文档:
步骤:
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 ......
Session模型简介
Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionI ......
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.为按钮添加对话框
Button1.Attribute ......
可以使用 ISAPI 筛选器在 IIS Web 服务器级别实现 URL 重写,也可以使用 HTTP 模块或 HTTP 处理程序在
ASP.NET 级别实现 URL 重写。本文重点介绍如何使用 ASP.NET 实现 URL 重写,因此我们将不对使用 ISAPI 筛选器实现
URL 重写的细节进行深入探讨。但是,有大量的第三方 ISAPI 筛选器可用于 URL 重写,例如: ......
今天在开发中,遇到了一个问题:
在Header中有一个搜索输入框,搜索按钮是Button控件,在“资讯文章搜索”用户自定义控件中也用到了Button控件。
将焦点停在“资讯标题或内容”输入框中,回车,但是相应的是Header中输入框内容。
原 ......