我在配置的时候这样写对吗? 这个类名他会自动获取?还是要生成一个dll写进去?
<httpModules>
<add name="MyFilerModule" type="类名"/>
</httpModules>
private void Application_AcquireRequestState(Object source,
EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
HttpSessionState session = context.Session;
HttpResponse response = context.Response;
if (session["ss"] != null)
{
response.Redirect("~/Main.aspx");
}
}
这样写对吗?
如果说要给页上做一些操作,比如说让title全部都一样 我怎么获得所要过滤Page的对象呢?加过滤器要找到session["userId"]的时候总不能在登录界面也判断吧? 怎么才能判断部分页面呢?
<httpModules>
<add name="MyFilerModule" type="类名"/>
</httpModules>
private void Application_AcquireRequestState(Object source,
EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
HttpSessionState session = context.Session;
HttpResponse response = context.Response;
if (session["ss"] != null)
{
response.Redirect("~/Main.aspx");
}
}
这样写对吗?
如果说要给页上做一些操作,比如说让title全部都一样 我怎么获得所要过滤Page的对象呢?加过滤器要找到session["userId"]的时候总不能在登录界面也判断吧? 怎么才能判断部分页面呢?
{
protected virtual void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage == null)
{
Response.Redirect("login.aspx");
}
}
}
IHttpModule对请求进行预处理,如验证、修改、过滤等等
using System;
using System.Web;
namespace MyModule
{
public class MyModule : IHttpModule
{
public void Init(HttpApplication application)
{
application. AcquireRequestState += (new
EventHandler(this.Application_AcquireRequestState));
}
private void Application_AcquireRequestState (Object source,
EventArgs e)
{
HttpApplication Application = (HttpApplication)source;
string url=Application.Context.Request.Path;
if(Application.Context.Sesseion[ "User "] ==null)
Application.Context.Server.Transfer( "ErrorPage.aspx "); }
public void Dispose()
{
}
}
}
或使用BasePage
{
protected virtual void Page_Load(object sender, EventArgs e)
{
if (Page.PreviousPage == null)
{
Response.Redirect("login.aspx");
}
这一部分写到哪儿? 我感觉你回答我的问题不够对应 没有针对性
就是让你用IHttpModule对请求进行预处理;或者继承~弄一个处理页面,要处理的页面继承该页面。