在ASP.NET MVC中生成Canonical Url

时间:2012-02-03 00:05:26

标签: asp.net-mvc seo canonical-link

我想在我的ASP.NET MVC项目中生成Canonical url。我做了一个简单的测试并且工作了,但是它是对的吗?我可以遇到一些问题吗?我看到一些例子要复杂得多,我的看似太好了,不能成为真理

我只是这样做:

public string CanonicalUrl()
{
    RouteValueDictionary valores = new RouteValueDictionary(ViewContext.RouteData.Values);
    foreach (KeyValuePair<string, ModelState> keyValuePair in ViewContext.ViewData.ModelState)
    {
        valores[keyValuePair.Key] = keyValuePair.Value.Value.AttemptedValue;
    }

    return Url.RouteUrl(null, valores, Request.Url.Scheme, null);
}

我现在正在使用它。到现在为止,我没有任何问题:

http://blog.fujiy.net/?page=5

http://blog.fujiy.net/?tag=%2Fjavascript&page=5

1 个答案:

答案 0 :(得分:1)

有效

public string CanonicalUrl()
{
    RouteValueDictionary valores = new RouteValueDictionary(ViewContext.RouteData.Values);
    foreach (KeyValuePair<string, ModelState> keyValuePair in ViewContext.ViewData.ModelState)
    {
        valores[keyValuePair.Key] = keyValuePair.Value.Value.AttemptedValue;
    }

    return Url.RouteUrl(null, valores, Request.Url.Scheme, null);
}