Kentico CMS - 使用MVC模型注册页面(Web Analytics)视图

时间:2014-12-17 11:00:03

标签: asp.net asp.net-mvc kentico

我有一个相当小的Kentico网站使用MVC模型。 我已启用网络分析,但它未记录网页浏览量。 我在设置中使用JavaScript禁用了日志记录。

它一般是记录进入和退出页面以及访问者,但没有关于访问者的详细信息,例如他们的浏览器,国家/地区或任何页面浏览量。

我已检查流程分析日志计划作业,并且该计划正常运行。

我需要做些什么吗?

1 个答案:

答案 0 :(得分:2)

与门户网站页面不同,本地不会在MVC页面上跟踪Web分析。但是,基于MVC模板的页面(例如退出页面,一般访问者,未找到的页面)记录了一些基本统计信息。要记录完整的统计信息,您必须'通过JavaScript代码段启用日志并在页面中添加一些代码。

首先,添加'使用'@using CMS.Helpers;。然后将以下代码插入页眉:

<script type="text/javascript" src="@URLHelper.ResolveUrl("~/CMSScripts/WebServiceCall.js")"></script>

以下代码准备将作为Web服务调用参数传递的值:

@{
    var page = DocumentContext.CurrentPageInfo;

    if (page != null)
    {
        ViewBag.PageGuid = (page.DocumentGUID == Guid.Empty) ? String.Empty : page.DocumentGUID.ToString();
        ViewBag.SiteId = (page.NodeSiteID > 0) ? page.NodeSiteID.ToString() : String.Empty;
    }

    ViewBag.Referrer = (Request.UrlReferrer != null) ? Request.UrlReferrer.ToString() : String.Empty;
}

最后在页面末尾添加以下脚本(作为启动脚本)以调用记录Web分析的Kentico Web服务:

<script type="text/javascript">
WebServiceCall('@URLHelper.ResolveUrl("~/CMSPages/WebAnalyticsService.asmx")', 'LogHits', '{ "parameters": { "pageGUID" : "@ViewBag.PageGuid", "pagesiteId" : "@ViewBag.SiteId", "referrer" : "@ViewBag.Referrer" }}');