3,实现Control.cs这个类,新建一个Control类,让他继承 IHttpHandler接口,这个接口里面有两一个属性和一个方法,
bool IsReusable { get; }//如果 System.Web.IHttpHandler 实例可再次使用,则为 true;否则为 false。
void ProcessRequest(HttpContext context);// 启用 HTTP Web 请求的处理。可以接收到页面的请求内容,里面主要包括Request,Response,等,方便我们接收参数和页面转发。
Control.cs代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Reflection;
/// <summary>
/// HTTP 的摘要说明
/// </summary>
public class Control: IHttpHandler
{
public Control()
{
}
public bool IsReusable
{
get
{
return true;
}
}
public void ProcessRequest(HttpContext context)
{
HttpRequest req = context.Request;
string path= req.CurrentExecutionFilePath;
int index = path.LastIndexOf("/");
string path1 = path.Substring(index + 1);
string actionName = actiondo.Substring(0, actiondo.Length - 3);//这里就能得到页面form信息里面的字符Login
//以上几行代码主要是得到action的名字。
//利用反射调用action,比如请求页面现在
Type type = Type.GetType(actionName);
Object kk = Activator.CreateInstance(type);
type.GetMethod("Execue").Invoke(kk, new object[] { context });//Execue是Login.cs里面的一个方法,用于接收请求,处理数据。
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Reflection;
/// <summary>
/// HTTP 的摘要说明
/// </summary>
public class Control: IHttpHandler
{
public Control()
{
}
public bool IsReusable
{
get
{
return true;
}
}
public void ProcessRequest(HttpContext context)
{
HttpRequest req = context.Request;
string path= req.CurrentExecutionFilePath;
int index = path.LastIndexOf("/");
string path1 = path.Substring(index + 1);
string actionName = actiondo.Substring(0, actiondo.Length - 3);//这里就能得到页面form信息里面的字符Login
//以上几行代码主要是得到action的名字。
//利用反射调用action,比如请求页面现在
Type type = Type.GetType(actionName);
Object kk = Activator.CreateInstance(type);
type.GetMethod("Execue").Invoke(kk, new object[] { context });//Execue是Login.cs里面的一个方法,用于接收请求,处理数据。
}