ActionFilterAttribute切面プログラミングのUrlのフォーマット例

1274 ワード

/// <summary>

///    Url   

/// </summary>

public class UrlFormatFilter : System.Web.Mvc.ActionFilterAttribute

{

/// <summary>

///  Action     

/// </summary>

/// <param name="filterContext"></param>

public override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext)

{

string url = filterContext.HttpContext.Request.Url.OriginalString;

if (System.Text.RegularExpressions.Regex.IsMatch(url, "[A-Z]"))

{

url = url.ToLower();

filterContext.HttpContext.Response.StatusCode = 301;

filterContext.HttpContext.Response.Redirect(url, true); 

}

}

}


/////////////SEO始発都市アクション//////////////[UrlFormatFilter][NoCacheFilter]public ActionResultTejiaCity(string city){city=city??string.Empty;IBaseInfoSearch baseInfoService=ServiceFactory.BaseInfoSearch();AirCityInfo cityInfo cityInfo==Info=Info=Info==Info==Info=Info=baseInfoServices.GetAirCityByName(city);CityLowPriceViewModelBuilder=new CityLowPriceViewModelBuilder(cityInfo);CityLowPriceViewModel=builder.Build(this.controllerContext);//初期化ページヘッダInitTejiaCityPageInfo(cityInfo);InitlizeRegisterResource();return View(「TejiaCity」,model);}