لنگوییج کنترلر using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace testMVC.web.Controllers { رفرنسبه هومکنترلر public class LanguageController : Controller { protected override IAsyncResult BeginExecuteCore(AsyncCallback callback, object state) { string lang = null; /*HttpCookie langCookie = Request.Cookies["culture"]; if (langCookie != null) { lang = langCookie.Value; }*/ if (Session["culture"] != null) lang = Session["culture"].ToString(); else { var userLanguage = Request.UserLanguages; var userLang = userLanguage != null ? userLanguage[0] : ""; if (userLang != "") { lang = userLang; } else { lang = LanguageManager.GetDefaultLanguage(); } } new LanguageManager().SetLanguage(lang); return base.BeginExecuteCore(callback, state); } } }
هومکنترلر using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using testMVC.web.Models; namespace testMVC.web.Controllers { [AllowAnonymous] public class HomeController : LanguageController { #region action public ActionResult Index() { return View(); } public ActionResult ChiSiamo() { return View(); } public ActionResult News() { return View(); } public ActionResult Privacy() { return View(); } public ActionResult Contatti() { return View(); } #endregion public ActionResult ChangeLanguage(string lang) { new LanguageManager().SetLanguage(lang); return RedirectToAction("Index", "Home"); } /* public ActionResult NewsPart() { CampoDeiFioriEntities db = new CampoDeiFioriEntities(); var dbNews = db.MagNovita.Last<MagNovita>(); var item = from b in db.MagNovita where b.PrgNovita == 4 select b; return View(dbNews); }*/ } } یک کلاس بسازیم به اسم لنگوییج منیجر using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading; using System.Web; namespace testMVC.web { public class LanguageManager { public static List<Languages> AvailableLanguages = new List<Languages> { new Languages { LanguageFullName = "Italian", LanguageCultureName = "it-IT" }, new Languages { LanguageFullName = "English", LanguageCultureName = "en-US" }, }; public static bool IsLanguageAvailable(string lang) { return AvailableLanguages.Where(a => a.LanguageCultureName.Equals(lang)).FirstOrDefault() != null ? true : false; } public static string GetDefaultLanguage() { return AvailableLanguages[0].LanguageCultureName; } public void SetLanguage(string lang) { // try { if (!IsLanguageAvailable(lang)) lang = GetDefaultLanguage(); var cultureInfo = new CultureInfo(lang); Thread.CurrentThread.CurrentUICulture = cultureInfo; Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureInfo.Name); HttpContext.Current.Session["culture"] = lang; /*HttpCookie langCookie = new HttpCookie("culture", lang); langCookie.Expires = DateTime.Now.AddYears(1); HttpContext.Current.Response.SetCookie(langCookie); HttpContext.Current.Response.Cookies.Add(langCookie);*/ // } catch (Exception) {} } } public class Languages { public string LanguageFullName { get; set; } public string LanguageCultureName { get; set; } } } توی پوشه لی آوت <!DOCTYPE html> <html> <head> <title>@ViewBag.Title - Campo dei Fiori</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0"> <link href="~/Content/css/parametri.css" rel="stylesheet" /> <link href="~/Content/css/style.css" rel="stylesheet" /> <link href="~/Content/css/Fonts.css" rel="stylesheet" /> <link rel="shortcut icon" type="image/png" href="~/Content/img/Favicon.png" /> <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> <script src="~/Scripts/js/General.js"></script> @*<script src="~/Scripts/js/jquery.localisation.js"></script>*@ @RenderSection("Scripts", required: false) </head> <body> @RenderSection("PopupVideo", required: false) <div class="Container"> <div class="header"> <div class="H_Iocon"> @{ var isSelected_IT = !string.IsNullOrEmpty(Session["culture"].ToString()) && Session["culture"].ToString() == "it-IT" ? "Sel" : ""; var isSelected_EN = string.IsNullOrEmpty(Session["culture"].ToString()) || Session["culture"].ToString() == "en-US" ? "Sel" : ""; } <div class="Lingua"> <span class="@isSelected_IT"> @Html.ActionLink("ITA", "ChangeLanguage", "Home", new { lang = "it-IT" }, null)</span> | <span class="@isSelected_EN">@Html.ActionLink("ENG", "ChangeLanguage", "Home", new { lang = "en-US" }, null)</span></div> <a target="_blank" href="https://www.facebook.com/CampoDeiFioriSrl/"><img class="H_FbIcon" src="~/Content/img/H_FbIcon.png" /></a> <img class="MenuMobile" src="~/Content/img/MenuMobile.png" /><img style="display:none" class="MenuMobile" src="~/Content/img/CloseMenu.png" /> </div> <a href="@Url.Action("Index", "Home")"> <img class="Logo_Header" src="~/Content/img/Logo.png" /> </a> <div class="Menu"> <ul> <li><a href="@Url.Action("ChiSiamo","Home")">@Resources.Global.Menu_Chisiamo</a></li> <li><a href="#">@Resources.Global.Menu_Novita</a></li> <li><a href="@Url.Action("Contatti","Home")">@Resources.Global.Menu_Contatti</a></li> </ul> <ul class="Lingua"> <li>ITA</li> <li>ENG</li> </ul> </div> </div> @RenderBody() <div class="Footer"> @Resources.Global.Menu_Company - <a href="@Url.Action("Contatti","Home")">@Resources.Global.Menu_Contattaci</a> - <a href="@Url.Action("Privacy","Home")"> @Resources.Global.Menu_Privacy </a> </div> </div> <div class="ScrollZone "> <span class="ScorriTxt">@Resources.Global.Menu_Scorri</span> <span class="SaliTxt">@Resources.Global.Menu_Sali</span></div> </body> </html>
صفحه ایندکس
اول صفحه
@{ Layout = "~/Views/Shared/_Layout.cshtml"; } @{ string lang = System.Threading.Thread.CurrentThread.CurrentCulture.ToString().ToLower().Substring(0, 2); } <div class="GalleryHome"> <div class="ContGallery"> <ul> <li> <a href="/it/Prodotti/Categoria/1"> <img src="~/Content/img/GalleryHome/@lang/1.jpg" /> </a> </li> <li> <a href="/it/Prodotti/Categoria/3"> <img src="~/Content/img/GalleryHome/@lang/2.jpg" /> </a> </li> <li> <a href="/it/Prodotti/Categoria/4"> <img src="~/Content/img/GalleryHome/@lang/3.jpg" /> </a> </li> <li> <a href="/it/Prodotti/Categoria/5"> <img src="~/Content/img/GalleryHome/@lang/4.jpg" /> </a> </li> </ul> </div> <div class="GalleryPointer"><ul></ul></div> </div> <div class="Blocks"> <!--[NEWS]--> <div class="Blocco" style="height: 377px;"> @{ testMVC.web.Models.CampoDeiFioriEntities db = new testMVC.web.Models.CampoDeiFioriEntities(); var dbNews = db.MagNovita.OrderByDescending(o => o.PrgNovita).FirstOrDefault(); String newsTitle = dbNews.DesTitolo; String newsText = dbNews.DesSottotitolo; int newsId = dbNews.PrgNovita; String newsImage = dbNews.DesImmagineList; } <a class="ListLink" href="/it/Novita/Novita/@newsId" style="max-height: 139.226px;"> <img src="~/Content/img/News/@newsImage"> </a> <p> <a href="/it/Novita/Novita/@newsId"> <span>@newsTitle</span></a> @newsText </p> </div> <div class="Blocco" style="height: 377px;"> @{ var dbProducts = db.MagProdotti.ToList(); int rnd1 = (new Random()).Next(0, dbProducts.Count); var product = dbProducts[rnd1]; String prdTitle = product.DesTitolo; String prdText = product.DesAbstract; int prdId = product.PrgProdotto; String prdImage = product.DesImmagineHome; } <a class="ListLink" href="/it/Prodotti/Prodotto/@prdId" style="max-height: 139.226px;"> <img src="~/Content/img/@prdImage"> <!-- No image --> </a> <p> <a href="/it/Prodotti/Prodotto/@prdId"> <span>@prdTitle</span></a> @prdText </p> </div> <!--[RICETTA]--> <div class="Blocco" style="height: 377px;"> @{ String ricetteTitle = "", ricetteText = "", ricetteImage = "", ricetteUrl = ""; if (db.MagRicette.ToList().Count > 0) { var dbRicetta = db.MagRicette.OrderByDescending(o => o.PrgRicetta).FirstOrDefault(); ricetteTitle = dbRicetta.DesTitolo; ricetteText = dbRicetta.DesAbstract; ricetteImage = dbRicetta.DesImmagineHome; ricetteUrl = "/it/Ricette/Ricetta/" + dbRicetta.PrgRicetta; } else { var lstNews = db.MagNovita.ToList(); var news = lstNews[lstNews.Count - 2]; ricetteTitle = news.DesTitolo; ricetteText = news.DesSottotitolo; ricetteImage = news.DesImmagineHome; ricetteUrl = "/it/Novita/Novita/" + news.PrgNovita; } } <a class="ListLink" href="@ricetteUrl" style="max-height: 139.226px;"> <img src="~/Content/img/@ricetteImage"> <!-- No image --> </a> <p> <a href="@ricetteUrl"> <span>@ricetteTitle</span></a> @ricetteText </p> </div> </div>
رابخا
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="Double Big">
<div class="ImgCont">
<img src="~/Content/img/News/5022_5537_Campo_dei_Fiori_Mozzarella_a_fettexhome.jpg" />
</div>
<div class="Page_Cont Prodotti Nov">
<div class="Breadcrumb">
<a href="/it/Home">Home</a> > <a class="This" href="/it/Novita">novità</a>
</div>
<div class="TextBlock">
<span class="Title"><a href="/it/Novita/Novita/14">Campo dei Fiori lancia la Mozzarella a fette</a></span>
<br />
<p style="color:#fff">
Quattro fette di mozzarella confezionate una a una: così Campo dei Fiori semplifica la vita in cucina per tutti gli amanti del più classico e più venduto formaggio a pasta filata.
</p>
</div>
</div>
</div>
<div class="Double Novita Light">
<a class="ListLink" href="/it/Novita/Novita/13">
<div class="Double ProttiList">
<div class="ImgCont ">
<img src="~/Content/img/News/5301_Golfshowsmall.jpg" />
</div>
<div class="Page_Cont">
<div class="TextBlock">
<span class="SubTitle">Al Parma Golf Show 2017 la colazione firmata Campo dei Fiori</span>
</div>
</div>
</div>
</a>
<a class="ListLink" href="/it/Novita/Novita/10">
<div class="Double ProttiList">
<div class="ImgCont ">
<img src="~/Content/img/News/0853_0504_Food-Truck_Campo-dei-Fiori_Marca2017_b.jpg" />
</div>
<div class="Page_Cont">
<div class="TextBlock">
<span class="SubTitle">Parte dal Marca di Bologna lo street food di Campo dei Fiori</span>
</div>
</div>
</div>
</a>
</div>
<div class="Double Novita">
<a class="ListLink" href="/it/Novita/Novita/4">
<div class="Double ProttiList">
<div class="ImgCont ">
<img src="~/Content/img/News/1209_2922_burro2.jpg" />
</div>
<div class="Page_Cont">
<div class="TextBlock">
<span class="SubTitle">Cresce la linea del burro Campo dei Fiori - FOO’D</span>
</div>
</div>
</div>
</a>
<a class="ListLink" href="/it/Novita/Novita/8">
<div class="Double ProttiList">
<div class="ImgCont ">
<img src="~/Content/img/News/1115_2705_burro-food.small.jpg" />
</div>
<div class="Page_Cont">
<div class="TextBlock">
<span class="SubTitle">Nasce Burro Campo dei Fiori - FOO’D</span>
</div>
</div>
</div>
</a>
</div>
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)