Если вы ищете значения по умолчанию для страны и языка, просто изменить значение по умолчанию,
defaults: new { country="ES", lang="es", controller = "Home", action = "Index" }
Она наполнит страну и вариант языки со значением по умолчанию.
Или, если ваше требование установить ваши приложения, начиная URL, как,
www.site.com/ES/es
поместите следующий код в Application_BeginRequest
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (String.Compare(Request.Path, Request.ApplicationPath, StringComparison.InvariantCultureIgnoreCase) == 0)
Response.Redirect(Request.Path + "ES/en");
}
Редактировать
Код в Application_BeginRequest будет выполняться для каждого запроса, включая URL ресурса (js/css). Вы можете удалить код Application_BeginRequest и поместить код в начало в действии по умолчанию контроллера по умолчанию, чтобы иметь тот же эффект. как:
//Home Controller
public ActionResult Index(string country, string lang)
{
if (String.Compare(Request.Path, Request.ApplicationPath, StringComparison.InvariantCultureIgnoreCase) == 0)
return Redirect(Request.Path + string.Format("{0}/{1}", country, lang));
return View();
}
Редактировать
кода,
if (String.Compare(Request.Path, Request.ApplicationPath, StringComparison.InvariantCultureIgnoreCase) == 0)
return Redirect(Request.Path + string.Format("{0}/{1}", country, lang));
проверяет входящий URL является корневой URL для приложения, и если да перенаправлять с дополнительной информацией о маршруте. В идеале Request.Path
и Request.ApplicationPath
оба значения будут иметь значение /
для начального URL-адреса. Здесь эта проверка выполняется только в исходном/стандартном URL-адресе, поэтому я не думаю, что этот код заставит сайт заметно замедлиться. Вы можете прокомментировать код и проверить, увеличивается ли производительность, чтобы убедиться, что этот код является причиной производительности.
Это статья, которая, я считаю, отвечает на вашу проблему. Это относительно коротко и очень хорошо объясняет это! Это действительно связано с добавлением ограничений для ваших маршрутов. Надеюсь, это поможет! http://www.asp.net/mvc/tutorials/controllers-and-routing/creating-a-custom-route-constraint-cs – Jose