سلام
با استفاده از یک کوکی برای ذخیره موقعیت پیمایش Y کار می کند.
DotnetCore با توجه به برخی ویژگی هایی که صفحات وب ASP.Net دارد ، هنوز کمبود دارد، بنابراین تنها راه برای حفظ موقعیت پیمایش از طریق جاوا اسکریپت است (و روش های مختلف زیادی برای پیشبرد آن وجود دارد).
یک فایل جاوا اسکریپت (یا استفاده از برچسب ها) برای اسکریپت کوکی خود (بدون جی کوئری مورد نیاز) ایجاد کنید، یک مرجع برای آن در پرونده _Root.Head.cshtml قرار دهید و تغییری در برچسب بدنه ایجاد کنید.
function readCookie(cname) {
var re = new RegExp('[; ]' + cname + '=([^\\s;]*)');
var sMatch = (' ' + document.cookie).match(re);
if (cname && sMatch) return unescape(sMatch[1]);
return '';
}
در پرونده _Root.Head.cshtml، یک متن اضافه کنید و برچسب بدنه را تغییر دهید:
Html.AddScriptParts(ResourceLocation.Head, "~/js/scrollpos.js");
تغییرات برچسب (چند روش برای انجام این کار وجود دارد، اما این روش خوب است):
<body onScroll="document.cookie='ypos=' + window.pageYOffset" onLoad="window.scrollTo(0,readCookie('ypos'))">
بازسازی و اجرا (پاک کردن حافظه پنهان مرورگر).