背景
我有一个ASP.Net Corev2.1Web应用程序,它在启动时将CheckConsentNeeded标志设置为true。
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = Microsoft.AspNetCore.Http.SameSiteMode.None;
});我在主页上有一个注册表单,在post操作中使用ValidateAntiForgeryToken。
问题
如果有人试图在cookie被接受之前注册,他们会得到以下错误:
ERROR - ExceptionHandlerMiddleware - An unhandled exception has occurred while executing the request. System.FormatException: Input string was not in a correct format.需求
我想在手机上自动扩展cookieConsent面板,直到他们接受cookie,使他们更明显地需要这样做,而不是通过手动单击汉堡包图标来查看。
采取行动
我可以看到_cookieConsentPartial中的代码给了我我需要的标志(showBanner):
@{
var consentFeature = Context.Features.Get<ITrackingConsentFeature>();
var showBanner = !consentFeature?.CanTrack ?? false;
var cookieString = consentFeature?.CreateConsentCookie();
}
@if (showBanner)
{我希望能在这里添加一些JQuery代码,将类" in“添加到..navbar折叠选择器中。
$.when($.ready).then(function () {
var $navBar = $(".navbar-collapse");
if (!$navBar.hasClass("in")) {
$navBar.addClass("in");
}
});然而,有两件事。
有人能建议在Asp.Net Core2.1中实现这一需求的最佳方法吗?
发布于 2018-10-26 08:52:31
今天早上,我又回到了这个问题上,结果证明,它最终是直接实现的。
我只需要将"in“类添加到_cookieConsentPartial上的导航栏标题下的导航条折叠div中。
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#cookieConsent .navbar-collapse">
<span class="sr-only">Toggle cookie consent banner</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse **in** navbar-collapse">
<p class="navbar-text">
<i class="fa fa-info-circle"></i> We use our cookies and third party cookies to improve our services, obtain statistics, allow you to remember your login details, and to facilitate your interaction with social networks.
</p>
...https://stackoverflow.com/questions/52991415
复制相似问题