Пользователь проверяет флажок и прокручивает вниз, вертикальная позиция перемещается назад до прокрутки пользователя
У меня проблема в том, что пользователь проверяет флажок и прокручивает вниз, вертикальная позиция перемещается назад до прокрутки пользователя примерно на секунду позже.
У меня есть флажок внутри повторителя, флажок автопост установлен в значение true, и я запускаю некоторый код, если он отмечен / не отмечен. У меня также есть keepscrollbackposition как правда.
Может кто-нибудь помочь, пожалуйста? это можно исправить?
<asp:Repeater ID="rpFactorLeadershipStrengths" OnItemDataBound="rpFactorLeadershipStrengths_OnItemDataBound" runat="server">
<ItemTemplate>
<label class="checkbox">
<asp:CheckBox ID="cbLeadershipStrengthStatement" AutoPostBack="true" OnCheckedChanged="cbLeadershipStrengthStatement_OnCheckedChanged" runat="server" />
<small><asp:Literal ID="ltLeadershipStrengthStatement" runat="server" /></small>
</label>
<asp:HiddenField ID="hfLeadershipStrengthStatementId" runat="server" />
</ItemTemplate>
</asp:Repeater>
2 ответа
Для того же вы должны сделать эти шаги
1 Напишите следующий код в событии Page_Load на странице.
protected void Page_Load(object sender, EventArgs e)
{
MaintainScrollPositionOnPostBack = true;
}
2 Щелкните правой кнопкой мыши на обозревателе решений> Добавить новый элемент
Выберите Файл браузера и добавьте его в папку App_Browsers.
Добавьте к этому файлу браузера возможность MaintainScrollPositionOnPostback, как написано ниже.
<browsers>
<browser refID="Mozilla">
<capabilities>
<capability name="supportsMaintainScrollPositionOnPostback"
value="true" />
</capabilities>
3 Вы можете использовать javascript-файл scrollsaver для поддержания положения прокрутки в Chrome.
<script type="text/javascript" src="scrollsaver.min.js"></script>
Для других ссылок, пожалуйста, посетите эту ссылку См. Ссылку
Надеюсь, это поможет вам.
У меня была похожая проблема, вызванная асинхронной обратной передачей. Я обошел стандартное поведение прокрутки, добавив следующий javascript на страницу, чтобы перезаписать действие прокрутки.
<script type="text/javascript">
window.scrollTo = function () { }
</script>