Filtre Değiştirme. Mobil bir görünüme sahip olmak istediğim işlemlere uygulayarak MVC filtreleri kullanarak bunu yapmak istediğime karar verdim.bir mobil tarayıcı kullanıyorsanız bir ASP.NET MVC görünümü farklı bir görünüme kullanıcıyı yönlendirmek için istediğiniz
Bu yeniden yönlendirmenin OnActionExecuted'de gerçekleşmesi gerektiğine inanıyorum, ancak filterContext görünümü hakkında bilgi içermiyor, ancak OnResultExecuted içinde ancak bu kez görünümü değiştirmek için çok geç olduğuna inanıyorum.
nasıl görünüm adı yakalamak ve ViewResult değiştirebilirim?
Bu İdam sonuçta var ve ne istiyorum Eylem çalışma Yürütülen olması budur.
public class MobilePageFilter : ActionFilterAttribute
{
public override void OnResultExecuted(ResultExecutedContext filterContext)
{
if(filterContext.Result is ViewResult)
{
if (isMobileSite(filterContext.HttpContext.Session[SetMobile.SESSION_USE_MOBILE]))
{
ViewResult viewResult = (ViewResult)filterContext.Result;
string viewName = viewResult.ViewName;
filterContext.Result = new ViewResult
{
ViewName = "Mobile/" + viewName,
ViewData = viewResult.ViewData,
TempData = viewResult.TempData
};
}
}
base.OnResultExecuted(filterContext);
}
}
Global.cs – zsong