Quelles sont les meilleures pratiques pour implémenter le modèle hashbang/Ajax crawl de Google avec ASP.NET MVC?Implémentation de l'analyse hashbang/Ajax de Google avec ASP.NET MVC?
http://code.google.com/web/ajaxcrawling/docs/getting-started.html:
le robot modifier chaque URL AJAX telles que
www.example.com/ajax.html#!key=value
pour devenir temporairement
www.example.com/ajax.html?_escaped_fragment_=key=value
cadre routage ASP.NET ne permet pas de spécifier paramètres de chaîne de requête, mais bien sûr, vous pouvez toujours créer une méthode d'action qui prend comme paramètre un paramètre _escaped_fragment_ (ou même simplement rechercher le paramètre _escaped_fragment_ dans l'en-tête de la requête).
C'est un peu lourd cependant. Y a-t-il un meilleur moyen?
MISE À JOUR:
je suis allé de l'avant et mis en œuvre le schéma suivant (dans mon cas, les fragments ressemblent à un chemin d'URL régulière). Encore une fois, ce n'est pas vraiment l'approche la plus propre, donc les suggestions sont les bienvenues.
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();
}
Vous pouvez mettre que les contrôleurs OnActionExecuting méthode, plutôt que dans l'action. De cette façon, vous pouvez rediriger vers l'action que vous croyez la meilleure. –
Oui, probablement vrai ... –