これまで actionfilter を使用したことがないため、その方法がよくわかりません。動作すると思われるコントローラーを作成しましたが、_ViewStart.cshtml でこのコントローラーを呼び出したいのですが、その方法がわかりません。コントローラーが正しいかどうかはわかりません。
public class CoActionFilter : FilterAttribute, IActionFilter
{
public string CompanyFilter(ResultExecutedContext filterContext, Models.DynCss Cssdata, int id)
{
var service = ServiceFactory.Instance.CreateTemplateService();
var data = service.GetEntry(id);
var OverdriveCss = new Models.DynCss
{
GetAllTempData = data,
BGColor = Cssdata.GetAllTempData.TempBG,
HeadColor = Cssdata.GetAllTempData.TempHeader,
LayColor = Cssdata.GetAllTempData.TempLayout,
TextColor = Cssdata.GetAllTempData.TempText,
FootColor = Cssdata.GetAllTempData.TempFooter
};
string templateContent = File.ReadAllText("Content/Site.css");
return Razor.Parse(templateContent, OverdriveCss);
}
}
ps: _Viewstart.cshtml にはコントローラーやモデルがありません。これが、actionfilter を使用する必要がある理由です。そして、このコントローラーを内部で呼び出す必要があります: if (Request.IsAuthenticated)