Pull to refresh

Comments 10

Так и чувствуется, что статье место, например, на codeproject.
Развернуть бы немного её в прикладную сторону — самое то было бы.
Один момент все равно пропущен. Если у вас по умолчанию язык русский, а я выбрал английский, то при следующем заходе у меня опять будет русский. Поэтому выбранную культуру надо сохранить в куках, или если пользователь авторизован, то в базе.
все правильно, однако это уже выходит за рамки статьи и касается реализации конкретного приложения.
Цель этого поста – возможность показать, как получить из URL-адреса вида /{culture}/{Controller}/{Action}… в Вашем приложении, URL-адрес вида /ru/Home/About.

так что routing и ничего более
при таком подходе нужно быть очень осторожным с постами.
если вы, например, меняете состояние формы постом, то теряете возможность получить ссылку на это стостояние, и ваш экшен ChangeCulture(Culture lang, string returnUrl) в лучшем случае начнет работать неверно.
поэтому в реальных приложениях, обычно необходимо выводить пользователю предупреждение, либо заранее через ajax post-запросом отправить данные на сервер и как-то их сохранить.
как вариант, да — можно не использовать обычные пост-запросы. получая одно удобство теряем другое. например, забываем о серверной валидации…
Копи-паст форева, написали бы, что это перевод.
Не ясен момент создания ссылок с учетом культуры, а также получения данной культуры в контроллерах.
читать вообще умеем, не? слово ПЕРЕВОД рядом с заголовком статьи отменили?
Пардон, не заметил :)
А что по другим вопросам?
ну в статье уже показано, если я правильно понимаю Вас:
<%= Html.ActionLink("eng", "ChangeCulture", "Account",
  new { lang = (int)MvcLocalization.Helpers.Culture.en, returnUrl = 
  this.Request.RawUrl }, new { @class = "culture-link" })%>

<%= Html.ActionLink("рус", "ChangeCulture", "Account",
  new { lang = (int)MvcLocalization.Helpers.Culture.ru, returnUrl = 
  this.Request.RawUrl }, new { @class = "culture-link" })%>


а получение в контроллерах:
var culture = requestContext.RouteData.Values["culture"].ToString();
Sign up to leave a comment.

Articles