MVC拦截器,MVC过滤器,MVC ActionFilterAttribute拦截器过滤器,OnActionExecuting

使用系统;使用System.Collections.Generic

,

使用来;使用System.Reflection;

使用System.Security.Policy;

使用text;使用包含

,

使用System.Web.Mvc;使用System.Reflection;



名称空间SaaS.Admin.Base

{

,,///& lt; summary>

,,///全局过滤器

,,///& lt;/summary>

,,公共类CustomerFilterAttribute: ActionFilterAttribute

,,{

,,,,///& lt; summary>

,,,,///检查是否需要过滤

,,,,///& lt;/summary>

,

,,,,///& lt; summary>

,,,,///在执行操作行动方法前执行调用

,,,,///& lt;/summary>

,,,,///& lt;参数name=" filterContext祝辞& lt;/param>

,,,,公共覆盖空白)

,,,,,,,,,,{

,,,,,,,,,,,,var filteredValue=https://www.yisu.com/zixun/HtmlEscapeCode (orginalValue);

,,,,,,,,,,,,////将处理后值赋给参数

,,,,,,,,,,,,filterContext.ActionParameters[参数。ParameterName]=filteredValue;

,,,,,,,,,,}


,,,,,,,,}

,,,,,,,,如果其他参数。ParameterName==澳P汀?

,,,,,,,,{

,,,,,,,,,,//获取字符串参数原值

,,,,,,,,,,var值=https://www.yisu.com/zixun/filterContext.ActionParameters [parameter.ParameterName];


,,,,,,,,,,如果(value.GetType ()。IsClass,,value.GetType ()。名字!=白址?//检查是否是类,并且不是字符串类型

,,,,,,,,,,{


,,,,,,,,,,,,对象objClass=价值;//获取字符串参数原值

,,,,,,,,,,,,PropertyInfo[]信息=objClass.GetType () . getproperty();//获取原对象的所有公共属性


,,,,,,,,,,,,#地区动态创建新实例【动态创建新的实体类实例】

,,,,,,,,,,,,系统。tt型=System.Type.GetType (value.ToString());//获取指定名称的类型

,,,,,,,,,,,,对象ff=活化剂。调用CreateInstance (tt, null);//创建指定类型实例

,,,,,,,,,,,,PropertyInfo[]字段=ff.GetType () . getproperty();//获取指定对象的所有公共属性


,,,,,,,,,,,,对象obj=活化剂。调用CreateInstance (tt, null);//创建新指定类型的实例【动态创建新的实例】

,,,,,,,,,,,,# endregion


,,,,,,,,,,,,foreach (PropertyInfo信息在信息)

,,,,,,,,,,,,{

,,,,,,,,,,,,,,如果(info.CanRead)

,,,,,,,,,,,,,,{

,,,,,,,,,,,,,,,,//Console.WriteLine(信息。名称+ "=" +信息。GetValue (objClass, null));


,,,,,,,,,,,,,,,,如果(info.PropertyType。Name==白址?,

,,,,,,,,,,,,,,,,{

,,,,,,,,,,,,,,,,,,//获取值

,,,,,,,,,,,,,,,,,,字符串orginalValue=https://www.yisu.com/zixun/Convert.ToString (info.GetValue (objClass, null);

,,,,,,,,,,,,,,,,,,null

MVC拦截器,MVC过滤器,MVC ActionFilterAttribute拦截器过滤器,OnActionExecuting