0

我有以下问题。如您所知,即当前版本不支持 pushstate html5 功能。因此,当用户是 ie 时,我不想使用 Ajax 呈现我的内容。

我想实现这一点的最佳方法是使用 Ajax 助手的扩展,当检测到的浏览器不是 ie 时返回 ajax.actionlink,当用户的浏览器是 ie 时返回标准 (html.routelink)。

在进行扩展时,我被要求为未显示为属性的 routeName ...

我不知道是否有人遇到过这个问题以及您使用的解决方案。

谢谢

4

1 回答 1

0

我最终用来实现我想要的方法是在视图中定义一个剃刀助手。我知道最好进行延期。但这很复杂,因为我想同时利用 ajaxhelper 和 htmlhelper ......(所以我不得不识别路线名称和所有这些东西)

@helper ConditionalLinkIE(string link, string action, string controller, object routeValues, AjaxOptions ajaxOptions)
{         
    if(ViewContext.RequestContext.HttpContext.Request.Browser.Browser.ToString().ToUpper() == "IE")
    {
      @Html.ActionLink(link, action, controller)
    }
    else
    {
      @Ajax.ActionLink(link, action, controller, routeValues, ajaxOptions)  
    }
}
于 2012-09-27T11:05:37.230 回答