Error executing template "Designs/Huuskes/_parsed/HuuskesWinActionPage.parsed.cshtml"
System.NullReferenceException: Object reference not set to an instance of an object.
at CompiledRazorTemplates.Dynamic.RazorEngine_b3509ee5031a4ed4a288fee5c5fe7081.Execute() in D:\inetpub\wwwroot\www.huuskes.nl\Files\Templates\Designs\Huuskes\_parsed\HuuskesWinActionPage.parsed.cshtml:line 166
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @using Dynamicweb.Frontend
2 @using System.Web.Mvc
3 @using System
4 @using Huuskes.Repository.Helpers
5 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
6 @Title("Master view model template")
7 @Description("Master template for a default page")
8
9 @{
10 var pv = PageView.Current();
11 var lang = pv.GlobalTags.GetTagByName("Global:Area.Lang").Value;
12 var scheme = pv.GlobalTags.GetTagByName("Global:Request.Scheme").Value;
13 var host = pv.GlobalTags.GetTagByName("Global:Request.Host").Value;
14 var requestHost = string.Format("{0}://{1}", scheme, host);
15 var pageTitle = Model.Title;
16 if (string.IsNullOrWhiteSpace(pageTitle))
17 {
18 pageTitle = Translate("DefaultPageTitle", "Innovadis");
19 }
20 var pageDescription = Model.Description;
21 var pageKeywords = Model.Keywords;
22
23 var requestContext = System.Web.HttpContext.Current.Request.RequestContext;
24 var urlHelper = new UrlHelper(requestContext);
25
26 var mainCssUrl = urlHelper.ContentVersioned("~/Files/Templates/Designs/Huuskes/dist/main.min.css");
27
28 var googleTagManagerCode = AreaHelper.GetAreaItemStringValueBySystemName("GoogleTagManagerCode", Dynamicweb.Frontend.PageView.Current().AreaID);
29 }
30
31 <!DOCTYPE html>
32 <html>
33 <head>
34 <meta charset="utf-8" />
35 <title>@pageTitle</title>
36 @if (!string.IsNullOrWhiteSpace(pageDescription))
37 {
38 <meta name="description" content="@pageDescription" />
39 }
40 @if (!string.IsNullOrWhiteSpace(pageKeywords))
41 {
42 <meta name="keywords" content="@pageKeywords" />
43 }
44 @{
45 if (!string.IsNullOrEmpty(googleTagManagerCode))
46 {
47 <!-- Google Tag Manager -->
48 <script>
49 (function (w, d, s, l, i) {
50 w[l] = w[l] || []; w[l].push({
51 'gtm.start':
52 new Date().getTime(), event: 'gtm.js'
53 }); var f = d.getElementsByTagName(s)[0],
54 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src =
55 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f);
56 })(window, document, 'script', 'dataLayer', '@googleTagManagerCode');</script>
57 <!-- End Google Tag Manager -->
58 }
59 }
60 @RenderSnippet("OgTags")
61 <meta http-equiv="content-language" content='@lang' />
62 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
63 <meta http-equiv="imagetoolbar" content="no" />
64 <meta http-equiv="x-dns-prefetch-control" content="on" />
65 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
66 <meta name="viewport" content="width=device-width, user-scalable=no" />
67 <meta name="application-name" content="Huuskes" />
68 <meta name="author" content="Innovadis BV, Enschede" />
69 <meta name="copyright" content='Innovadis BV, Enschede, @DateTime.Now.Year' />
70 <meta name="web_author" content="Innovadis BV, Enschede" />
71 <link rel="dns-prefetch" href='@requestHost' />
72 <link rel="icon" href="/Files/SystemImages/favicon.png" type="image/png" />
73 <link rel="shortcut icon" href="/Files/SystemImages/favicon.png" type="image/png" />
74 <link rel="stylesheet" href="https://use.typekit.net/nop4ttz.css">
75 <link rel="stylesheet" href="@mainCssUrl" />
76 @RenderSnippet("WinActionCss")
77 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" type="text/javascript"></script>
78 <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js" integrity="sha256-KM512VNnjElC30ehFwehXjx1YCHPiQkOPmqnrWtpccM=" crossorigin="anonymous"></script>
79 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" integrity="sha256-rByPlHULObEjJ6XQxW/flG2r+22R5dKiAoef+aXWfik=" crossorigin="anonymous" />
80 </head>
81 <body>
82 @{
83 if (!string.IsNullOrEmpty(googleTagManagerCode))
84 {
85 var tagManagerUrl = string.Format("https://www.googletagmanager.com/ns.html?id={0}", googleTagManagerCode);
86 <!-- Google Tag Manager (noscript) -->
87 <noscript>
88 <iframe src="@tagManagerUrl"
89 height="0" width="0" style="display:none;visibility:hidden"></iframe>
90 </noscript>
91 <!-- End Google Tag Manager (noscript) -->
92 }
93 }
94 <div class="master-grid-container">
95 <div id="ie-warning">@Translate("InternetExplorerWarning", "")</div>
96 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
97 @{
98 var headerLogo = Model.Area.Item.GetFile("HeaderLogo")?.Path;
99 var headerLink = string.Format("Default.aspx?ID={0}", Model.Area.FirstActivePage.ID);
100 var huibLink = Model.Area.Item.GetString("HuibLink");
101 var languages = Model.Area.Languages;
102 }
103 <header class="header winaction grid-content-template">
104 <div class="max-width grid-content">
105 @if (!string.IsNullOrEmpty(headerLogo))
106 {
107 <a class="header_logo" href="@headerLink">
108 <img src="@headerLogo" alt="Huuskes Logo" />
109 </a>
110 }
111 </div>
112 </header>
113 <div class="main">
114 <main class="content winaction">
115 @using Huuskes.Repository.Helpers
116 @inherits Dynamicweb.Rendering.ViewModelTemplate<Dynamicweb.Frontend.PageViewModel>
117 @Title("Doe-mee-en-win pagina")
118 @Description("Template voor een doe-mee-en-win actie pagina")
119
120 @{
121 var pageItem = Model.Item;
122 if (pageItem != null && Model.ItemType.Equals(Huuskes.Items.Constants.ItemConstants.Page_HuuskesWinActionPage))
123 {
124 var startDateTime = pageItem.GetDateTime("StartDateTime");
125 var endDateTime = pageItem.GetDateTime("EndDateTime");
126 var currentDateTime = DateTime.Now;
127 var currentView = "";
128 if (currentDateTime < startDateTime)
129 {
130 currentView = "Announcement";
131 }
132 else if (currentDateTime >= startDateTime && currentDateTime < endDateTime)
133 {
134 currentView = "Action";
135 }
136 else if (currentDateTime > endDateTime)
137 {
138 currentView = "Results";
139 }
140
141 var backgroundImage = pageItem.GetString("BackgroundImage");
142 if (!string.IsNullOrWhiteSpace(currentView))
143 {
144
145 @SnippetStart("WinActionCss")
146 @Huuskes.Repository.Helpers.WinActionHelper.GetWinActionCss(
147 pageItem.GetString("BackColor"),
148 pageItem.GetString("TextColor"),
149 pageItem.GetString("ButtonBackColor"),
150 pageItem.GetString("ButtonTextColor"),
151 pageItem.GetList("ButtonPosition").SelectedValue,
152 pageItem.GetString("BackgroundImage"))
153 @SnippetEnd("WinActionCss")
154
155 var participantIdValue = System.Web.HttpContext.Current.Request.QueryString.Get(Translate("WinActionParticipantId", "deelnemer")) ?? "";
156
157 // used for e-mail confirmation
158 var voteSecretQuery = System.Web.HttpContext.Current.Request.QueryString.Get("secret") ?? "";
159
160 if (!string.IsNullOrWhiteSpace(participantIdValue) && Guid.TryParse(participantIdValue, out Guid participantId) && !currentView.Equals("Announcement"))
161 {
162 var voted = System.Web.HttpContext.Current.Request.QueryString.Get("voted")?.Equals("true", StringComparison.InvariantCultureIgnoreCase) ?? false;
163 var isNew = System.Web.HttpContext.Current.Request.QueryString.Get("new")?.Equals("true", StringComparison.InvariantCultureIgnoreCase) ?? false;
164
165 var participation = Huuskes.Repository.Helpers.WinActionHelper.GetParticipation(Dynamicweb.Frontend.PageView.Current().Page.ID, participantIdValue);
166 var participant = Huuskes.Repository.Helpers.FormatHelper.CreateFullName(participation.LastName, participation.FirstName);
167 if (!string.IsNullOrWhiteSpace(participation.City))
168 {
169 participant = $"<b>{participant}</b><br />{participation.City}";
170 }
171 var motivation = Huuskes.Repository.Helpers.FormatHelper.ReplaceNewlineWithBr(participation.Motivation);
172
173 var pageService = new Dynamicweb.Content.PageService();
174 var votePage = pageService.GetPageByNavigationTag(Dynamicweb.Frontend.PageView.Current().AreaID, Huuskes.Models.Constants.StringConstants.NavigationTags.WinActionVoteForm);
175
176 var introText = isNew ? pageItem.GetString("FormConfirmationText") : pageItem.GetString("DeelnemeIntro");
177
178 var shareUrl = $"{Dynamicweb.Frontend.PageView.Current().GlobalTags.GetTagByName("Global:Request.Scheme").Value}://{Dynamicweb.Frontend.PageView.Current().GlobalTags.GetTagByName("Global:Request.Host").Value}{Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(Dynamicweb.Frontend.PageView.Current().Page.ID)}?{Translate("WinActionParticipantId", "deelnemer")}={participantIdValue}".UrlEncode();
179 var shareTitle = pageItem.GetString("ActionName");
180 var shareDescription = pageItem.GetString("ParticipationShareText");
181 var shareImage = $"{Dynamicweb.Frontend.PageView.Current().GlobalTags.GetTagByName("Global:Request.Scheme").Value}://{Dynamicweb.Frontend.PageView.Current().GlobalTags.GetTagByName("Global:Request.Host").Value}{participation.Photo}";
182 var voteCounterBackgroundImage = pageItem.GetString("VoteCounterBackground").Trim();
183 if (string.IsNullOrWhiteSpace(voteCounterBackgroundImage) || voteCounterBackgroundImage.Length < 10)
184 {
185 voteCounterBackgroundImage = "/Files/Templates/Designs/Huuskes/images/VoteCounter.png";
186 }
187 var photoText = Huuskes.Repository.Helpers.WinActionHelper.GetPhotoText(participation, pageItem.Id);
188
189 @SnippetStart("OgTags")
190 <meta property="og:title" content="@shareTitle - @photoText" />
191 <meta property="og:description" content="@shareDescription" />
192 <meta property="og:type" content="website" />
193 <meta property="og:url" content="@shareUrl" />
194 <meta property="og:image" content="@shareImage" />
195 <meta property="og:locale" content="@Dynamicweb.Frontend.PageView.Current().Area.Culture.Replace("-", "_")" />
196 @SnippetEnd("OgTags")
197
198 @*PHOTO*@
199 <div class="photo participant-view">
200 <div class="photo_imagecontainer">
201 <div class="image">
202 <img src="@participation.Photo" />
203 <div class="text">
204 @photoText
205 <div class="counter" style="background-image:url('@voteCounterBackgroundImage');">@participation.TotalVotes</div>
206 </div>
207 </div>
208 </div>
209 </div>
210
211 <div class="text-component no-image text-small grid-content-template padding">
212 <div class="max-width grid-content">
213 <div class="text-component_content">
214 <div class="text-component_text rich-text">
215
216 @*INTRO*@
217 @introText
218
219 @*VOTING*@
220 @if (votePage != null && !voted)
221 {
222 var paragraphService = new Dynamicweb.Content.ParagraphService();
223 var voteParagraphId = paragraphService.GetParagraphsByPageId(votePage.ID)?.FirstOrDefault(p => p.ItemType.Equals(Huuskes.Items.Constants.ItemConstants.Item_FormsForEditors) && p.ShowParagraph)?.ID ?? 0;
224 if (voteParagraphId > 0)
225 {
226 var formTitle = pageItem.GetString("VoteTitle");
227 if (!string.IsNullOrWhiteSpace(formTitle))
228 {
229 formTitle = $"<h5>{formTitle}</h5>";
230 }
231 <div id="voteForm">
232 @formTitle
233 @pageItem.GetString("VoteIntro")
234 @RenderParagraphContent(voteParagraphId)
235 </div>
236 }
237 }
238
239 @if (!string.IsNullOrEmpty(voteSecretQuery))
240 {
241 // register vote based on secret
242 WinActionHelper.VerifyWinActionVoteBySecret(voteSecretQuery);
243
244 <div id="go-to-vote-confirmation" class="vote-confirmation">
245 <hr />
246 <p> </p>
247 <span class="confirmation">@pageItem.GetString("VoteEmailConfirmationText")</span>
248 <p> </p>
249 <hr />
250 </div>
251 <script>
252 $(document).ready(function () {
253 WinAction.ScrollToAnchor("go-to-vote-confirmation");
254 });
255 </script>
256 }
257
258 @if (voted && string.IsNullOrEmpty(voteSecretQuery))
259 {
260 <a id="go-to-vote-confirmation"></a>
261 <div class="vote-confirmation">
262 <hr />
263 <p> </p>
264 <span class="confirmation">@pageItem.GetString("VoteConfirmationText")</span>
265 <p> </p>
266 <hr />
267 </div>
268 <script>
269 $(document).ready(function () {
270 WinAction.ScrollToAnchor("go-to-vote-confirmation");
271 });
272 </script>
273 }
274
275 @*SHARE*@
276 <div class="share-holder" style="display: block;">
277 <text>
278 <h5>@Translate("WinAction_Share", "Share"):</h5>
279 @*https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fhuuskes.local.innovadis.io%2fDefault.aspx%3fID%3d512*@
280
281 <a href="https://www.facebook.com/sharer/sharer.php?u=@shareUrl" target="_blank">
282 <svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
283 <title>Facebook logo</title>
284 <g id="SocialShare_Facebook" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
285 <g id="Icon" transform="translate(-580.000000, -397.000000)" fill="#FFFFFF">
286 <g id="Group-12">
287 <g id="Group-19" transform="translate(0.000000, 44.000000)">
288 <g id="Group-6" transform="translate(580.000000, 353.000000)">
289 <path d="M16.6666667,16.6666667 C16.6666667,16.6666667 16.6666667,16 16.6666667,13.8333333 C16.6666667,11.3333333 18,10 21,10 C21.5,10 25,10 25,10 L25,14.1666667 C25,14.1666667 23.3333333,14.1666667 22.6666667,14.1666667 C21.8333333,14.1666667 21.6666667,14.5 21.6666667,15.3333333 C21.6666667,16 21.6666667,16.6666667 21.6666667,16.6666667 L25,16.6666667 L24.6666667,20 L21.6666667,20 L21.6666667,30 L16.6666667,30 L16.6666667,20 L13.3333333,20 L13.3333333,16.6666667 L16.6666667,16.6666667 Z M20,40 C9,40 -2.4158453e-13,31 -2.4158453e-13,20 C-2.4158453e-13,9 9,0 20,0 C31,0 40,9 40,20 C40,31 31,40 20,40 Z M20,1.66666667 C9.83333333,1.66666667 1.66666667,9.83333333 1.66666667,20 C1.66666667,30.1666667 10,38.3333333 20,38.3333333 C30.1666667,38.3333333 38.3333333,30 38.3333333,20 C38.3333333,9.83333333 30.1666667,1.66666667 20,1.66666667 Z" id="Combined-Shape"></path>
290 </g>
291 </g>
292 </g>
293 </g>
294 </g>
295 </svg>
296 </a><a href="https://www.linkedin.com/shareArticle?mini=true&url=@shareUrl&title=@shareTitle.UrlEncode()&summary=&source=" target="_blank">
297 <svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
298 <title>LinkedIn logo</title>
299 <g id="SocialShare_LinkedIn" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
300 <g id="Icon" transform="translate(-700.000000, -397.000000)" fill="#FFFFFF" fill-rule="nonzero">
301 <g id="Group-12">
302 <g id="Group-19" transform="translate(0.000000, 44.000000)">
303 <g id="Group-6" transform="translate(580.000000, 353.000000)">
304 <path d="M136.666667,13.3333333 C136.666667,14.3333333 136,15 135,15 C134,15 133.333333,14.3333333 133.333333,13.3333333 C133.333333,12.3333333 134,11.6666667 135,11.6666667 C136,11.6666667 136.666667,12.3333333 136.666667,13.3333333 Z M136.666667,16.6666667 L136.666667,26.6666667 L133.333333,26.6666667 L133.333333,16.6666667 L136.666667,16.6666667 Z M141.666667,16.6666667 L141.666667,18.5 C143.166667,15.6666667 148.333333,15.5 148.333333,21 C148.333333,24 148.333333,26.6666667 148.333333,26.6666667 L145,26.6666667 C145,26.6666667 145,23.5 145,21.8333333 C145,18.6666667 141.666667,19 141.666667,21.8333333 C141.666667,23.6666667 141.666667,26.6666667 141.666667,26.6666667 L138.333333,26.6666667 L138.333333,16.6666667 L141.666667,16.6666667 Z M140,40 C129,40 120,31 120,20 C120,9 129,0 140,0 C151,0 160,9 160,20 C160,31 151,40 140,40 Z M140,1.66666667 C129.833333,1.66666667 121.666667,9.83333333 121.666667,20 C121.666667,30.1666667 130,38.3333333 140,38.3333333 C150.166667,38.3333333 158.333333,30 158.333333,20 C158.333333,9.83333333 150.166667,1.66666667 140,1.66666667 Z" id="Combined-Shape"></path>
305 </g>
306 </g>
307 </g>
308 </g>
309 </g>
310 </svg>
311 </a><a href="https://twitter.com/share?url=@shareUrl&text=@shareDescription.UrlEncode()" target="_blank">
312 <svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
313 <title>Twitter logo</title>
314 <g id="SocialShare_Twitter" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
315 <g id="Icon" transform="translate(-37.000000, -1077.000000)" fill="#FFFFFF">
316 <g id="Group-7" transform="translate(37.000000, 1077.000000)">
317 <path d="M27.9964,14.5391 C27.4074,14.8001 26.7754,14.9761 26.1114,15.0561 C26.7894,14.6501 27.3094,14.0061 27.5544,13.2401 C26.9204,13.6161 26.2174,13.8891 25.4694,14.0371 C24.8704,13.3991 24.0174,13.0001 23.0734,13.0001 C21.2604,13.0001 19.7904,14.4701 19.7904,16.2821 C19.7904,16.5391 19.8194,16.7901 19.8754,17.0301 C17.1474,16.8931 14.7284,15.5861 13.1094,13.6001 C12.8264,14.0851 12.6654,14.6491 12.6654,15.2501 C12.6654,16.3891 13.4234,17.3931 14.3044,17.9821 C13.7664,17.9651 12.9964,17.8171 12.9964,17.5711 L12.9964,17.6121 C12.9964,19.2021 13.9494,20.5291 15.4504,20.8311 C15.1754,20.9061 14.7964,20.9461 14.4964,20.9461 C14.2844,20.9461 14.0344,20.9251 13.8334,20.8871 C14.2514,22.1911 15.4404,23.1401 16.8774,23.1671 C15.7544,24.0471 14.3264,24.5721 12.7894,24.5721 C12.5224,24.5721 12.2574,24.5561 12.0004,24.5261 C13.4534,25.4571 15.1754,26.0011 17.0294,26.0011 C23.0674,26.0011 26.3674,20.9991 26.3674,16.6611 C26.3674,16.5181 26.3644,16.3771 26.3574,16.2361 C26.9994,15.7731 27.5544,15.1951 27.9944,14.5371 L27.9964,14.5391 Z" id="Fill-1"></path>
318 <path d="M20,40 C9,40 1.42108547e-14,31 1.42108547e-14,20 C1.42108547e-14,9 9,0 20,0 C31,0 40,9 40,20 C40,31 31,40 20,40 Z M20,1.66666667 C9.83333333,1.66666667 1.66666667,9.83333333 1.66666667,20 C1.66666667,30.1666667 10,38.3333333 20,38.3333333 C30.1666667,38.3333333 38.3333333,30 38.3333333,20 C38.3333333,9.83333333 30.1666667,1.66666667 20,1.66666667 Z" id="Shape" fill-rule="nonzero"></path>
319 </g>
320 </g>
321 </g>
322 </svg>
323 </a>
324
325 <p> </p>
326 </text>
327 </div>
328
329 @*MOTIVATION*@
330 <h5>@Translate("WinAction_MyMotivation", "My motivation"):</h5>
331 <p>@motivation</p>
332 <p><br />@participant</p>
333
334 @*BACK*@
335 <p> </p>
336 <p> </p>
337 <p><a href="/Default.aspx?ID=@Dynamicweb.Frontend.PageView.Current().Page.ID" class="button btn-tolist">@Translate("WinAction_ToList", "View all participants")</a></p>
338 </div>
339 </div>
340 </div>
341 </div>
342 }
343 else if (currentView.Equals("Announcement") && Model.Placeholder("Announcement").Any())
344 {
345 @Model.Placeholder("Announcement", "Zichtbaar tijdens de aankondigingsperiode", "sort:1")
346 }
347 else if (currentView.Equals("Action") && Model.Placeholder("Action").Any())
348 {
349 @Model.Placeholder("Action", "Zichtbaar tijdens de actieperiode", "default:true;sort:2")
350 }
351 else if (currentView.Equals("Results") && Model.Placeholder("Results").Any())
352 {
353 @Model.Placeholder("Results", "Zichtbaar tijdens de afkondiging- en uitslagperiode", "sort:3")
354 }
355 }
356
357 if (!string.IsNullOrWhiteSpace(backgroundImage) && backgroundImage.Length > 10)
358 {
359 var position = pageItem.GetString("BackgroundImagePosition");
360 var repeat = pageItem.GetString("BackgroundImageRepeat");
361 <script>
362 $(document).ready(function () {
363 WinAction.SetBackgroundImage('@backgroundImage', '@position', '@repeat');
364 });
365 </script>
366 }
367 }
368 }
369
370 </main>
371 </div>
372 </div>
373 <script src="~/Files/Templates/Designs/Huuskes/dist/app.min.js"></script>
374 <script>
375 $(document).ready(function () {
376 Page.ShowHideInternetExplorerWarning();
377 });
378 </script>
379 @RenderSnippet("JavaScriptBottom")
380 </body>
381 </html>
382