如何在嵌入式cshtml视图中关闭应用程序洞察javascript

时间:2018-03-09 12:29:48

标签: razor asp.net-core asp.net-core-mvc asp.net-core-2.0 azure-application-insights

我有一个视图Email1.cshtml(Build Action = Embedded Resource):

@model Email1Model;

<html>
<head>
</head>
<body>
  <h1>Hello, @Model.Name</h1>
</body>
</html>

我使用ViewRenderService将cshtml视图渲染为字符串。唯一的区别是我使用IRazorViewEngine.GetView()而不是FindView();

然而,在输出中我有一些应用见解:

<html> <head>
    <script type="text/javascript">
        var appInsights=window.appInsights||function(config){....);

        window.appInsights=appInsights;
        appInsights.trackPageView();

    </script> </head> <body>
    <h1>Hello, Liero</h1> </body> </html>

在startup.cs中:

services.AddApplicationInsightsTelemetry(opt => opt.InstrumentationKey = appInsightsKey);

问题:

如何在使用ViewRenderService呈现的特定视图中关闭javascript?

1 个答案:

答案 0 :(得分:0)

如果_layout.cshtml有@ Html.Raw(JavaScriptSnippet.FullScript),它会将应用程序见解javascript注入每个页面,您可以尝试使用以下方法在_layout.cshtml中添加条件:

@if (condition true for instrumenting)
{
    @Html.Raw(JavaScriptSnippet.FullScript)
}