Пользователь проверяет флажок и прокручивает вниз, вертикальная позиция перемещается назад до прокрутки пользователя

У меня проблема в том, что пользователь проверяет флажок и прокручивает вниз, вертикальная позиция перемещается назад до прокрутки пользователя примерно на секунду позже.

У меня есть флажок внутри повторителя, флажок автопост установлен в значение 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>
Другие вопросы по тегам