Каковы рекомендации по внедрению шаблона сканирования hashbang / Ajax от Google с ASP.NET MVC?
http://code.google.com/web/ajaxcrawling/docs/getting-started.html:
сканер будет изменять каждый URL-адрес AJAX, например
www.example.com/ajax.html#!key=value
, чтобы временно стать
www.example.com/ajax.html?_escaped_fragment_=key=value
Структура маршрутизации ASP.NET не позволяет указывать параметры строки запроса, но, конечно, вы всегда можете создать метод действия, который принимает _escaped_fragment_ какпараметр (или даже просто найдите параметр _escaped_fragment_ в заголовке запроса).
Однако это немного громоздко.Есть ли лучший способ?
ОБНОВЛЕНИЕ:
Я реализовал следующий шаблон (в моем случае фрагменты выглядят как обычный путь URL).Опять же, это едва ли самый чистый подход, поэтому любые предложения приветствуются.
public virtual ActionResult Index(int id, string _escaped_fragment_)
{
//Handle Google Ajax Crawler
if (_escaped_fragment_ != null)
{
string[] fragments = _escaped_fragment_.Split(new char[]{'/'}, StringSplitOptions.RemoveEmptyEntries);
if (fragments.Length > 0)
{
//parse fragments
//return static content
}
}
//normal action operation
return View();
}