Özniteliği ayarlayan herhangi bir filtrenin farkında değilim, ancak aynısını yapmak için kesinlikle bir eylem filtresi yazabilirsiniz. Eğer kültür bilgisi yaptığınızda oturum değişkenleri ayarladıysanız bu kodu kullanmak
using System.Globalization;
using System.Threading;
using System.Web.Mvc;
public class CultureAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext) {
string language = (string)filterContext.RouteData.Values["language"] ?? "en";
string culture = (string)filterContext.RouteData.Values["culture"] ?? "US";
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(string.Format("{0}-{1}", language, culture));
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(string.Format("{0}-{1}", language, culture));
}
}
:
using System.Globalization;
using System.Threading;
using System.Web.Mvc;
public class CultureAttribute : ActionFilterAttribute {
public override void OnActionExecuting(ActionExecutingContext filterContext) {
string language = (string)filterContext.HttpContext.Session.Contents["language"] ?? "en";
string culture = (string)filterContext.HttpContext.Session.Contents["culture"] ?? "US";
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(string.Format("{0}-{1}", language, culture));
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(string.Format("{0}-{1}", language, culture));
}
}
Eğer bir örnek var mı kültür yönlendirme yoluyla çözülmesini ediliyorsa
, aşağıdaki kodu kullanabilirsiniz Menü kodu veya etkilenen sayfanın URL'si olabilir mi? – JDandChips
Üzgünüm URL henüz kamuya açık değil. Menü için özel bir kod yok, sadece bir "Almanca" ve mevcut kültüre bağlı bir "İngilizce" Menüsü. Kontrolörlerin kültürü "yayınlama" gibi görünmediği için denetleyiciden döndürülen görünüm için herhangi bir kültür ayarlanmamıştır. Belki de [Temalı] 'gibi bir özellik var ama kültür için ... –
Uygulamada kültür nasıl çözülür? Yönlendirme tablosundan ayarlandı mı ve adresinden mi çözüldü? –