ASP.net MVC ऐप में संस्कृति / UI संस्कृति को सेट करने के लिए सबसे अच्छी जगह कौन सी है
वर्तमान में मेरे पास एक संस्कृतिसंसाधक वर्ग है जो इस तरह दिखता है:
public class CultureController : Controller
{
public ActionResult SetSpanishCulture()
{
HttpContext.Session["culture"] = "es-ES";
return RedirectToAction("Index", "Home");
}
public ActionResult SetFrenchCulture()
{
HttpContext.Session["culture"] = "fr-FR";
return RedirectToAction("Index", "Home");
}
}
और इस तरह के लिंक के साथ होमपेज पर प्रत्येक भाषा के लिए एक हाइपरलिंक:
<li><%= Html.ActionLink("French", "SetFrenchCulture", "Culture")%></li>
<li><%= Html.ActionLink("Spanish", "SetSpanishCulture", "Culture")%></li>
जो ठीक काम करता है लेकिन मैं सोच रहा हूं कि ऐसा करने का एक और उपयुक्त तरीका है।
मैं निम्नलिखित ActionFilter http://www.iansuttle.com/blog/post/ASPNET-MVC-Action-Filter-for-Localized-Sites.aspx का उपयोग करके संस्कृति पढ़ रहा हूं । मैं एमवीसी दोपहर का एक सा हूं, इसलिए मुझे विश्वास नहीं है कि मैं इसे सही जगह स्थापित कर रहा हूं। मैं इसे web.config स्तर पर नहीं करना चाहता, इसे उपयोगकर्ता की पसंद पर आधारित होना चाहिए। मैं अपने ब्राउज़र सेटिंग्स से संस्कृति प्राप्त करने के लिए उनके http-headers की जांच करना भी नहीं चाहता।
संपादित करें:
बस स्पष्ट होने के लिए - मैं यह तय करने की कोशिश नहीं कर रहा हूं कि सत्र का उपयोग करना है या नहीं। मैं उस बिट से खुश हूं। क्या मैं बाहर काम करने की कोशिश कर रहा हूं, अगर संस्कृति नियंत्रक में ऐसा करना सबसे अच्छा है, जिसमें प्रत्येक संस्कृति को सेट करने के लिए एक क्रिया पद्धति है, या ऐसा करने के लिए एमवीसी पाइपलाइन में बेहतर जगह है?