3 messaggi dal 30 marzo 2015
Ciao,
avrei un problema piuttosto complicato:
ho un'applicazione web che ad ogni evento textchange di alcune textbox va in code behind e fa dei calcoli, ovviamente passando per il postback.
Ciò che mi servirebbe, se possibile, è un modo per mantenere, dopo il postback, il focus sulla textbox e "annullare" lo scroll della pagina, che purtroppo si sfasa cercando di portarmi in cima all'UpdatePanel.

Grazie a chi mi risponderà.
Prova a inserire tutto in updatepanel. In alternativa devi utilizzare javascript e le richieste Ajax.

Ormai programmano tutti... ma la professionalità appartiene a pochi
944 messaggi dal 11 febbraio 2013
Scusate se mi "intrometto" ma ho una questione simile...

<asp:TextBox ID="txtbxNrOrdine" runat="server" Width="600px" style="text-align:center;" ReadOnly="true" placeholder="seleziona numero ordine..."/>
   <asp:Panel ID="PnlNrOrdine" runat="server" 
                         Height="150px" Width="600px" 
                         BorderStyle="Solid" BorderWidth="1px" BorderColor="LightGray" 
                         Direction="LeftToRight"
                         ScrollBars="Vertical" BackColor="White"
                         Style="display: none" >  
 <div style="text-align:center">  
      <asp:ImageButton ID="ImgBtnSortAscNrOrdine" runat="server" ImageUrl="~/Images/sort_asc.png" OnClick="ImgBtnSortAscNrOrdine_Click" />
      <asp:ImageButton ID="ImgBtnSortDescNrOrdine" runat="server" ImageUrl="~/Images/sort_desc.png" OnClick="ImgBtnSortDescNrOrdine_Click" />     
      <asp:CheckBox ID="CkbxNrOrdine" runat="server" AutoPostBack="true" OnCheckedChanged="CkbxNrOrdine_CheckedChanged" />
  </div>   
                               
 <ccbl:MyCheckBoxList ID="cblNrOrdine" runat="server" AutoPostBack="true"   SelectionMode="Multiple" Height="150px" Width="600px" DataTextFormatString="- {0}"
     OnSelectedIndexChanged="cblNrOrdine_SelectedIndexChanged"  >       
 </ccbl:MyCheckBoxList>

</asp:Panel>

<ajax:PopupControlExtender ID="PopUpCextNrOrdine" runat="server" Enabled="True" TargetControlID="txtbxNrOrdine" PopupControlID="PnlNrOrdine" OffsetY="22" />


ho una CheckBoxList che all'evento selectedindexchanged scrolla verso l'alto...(sia con che senza updatepanel...)
cosa sbaglio ?
POtete provare la proprietà sulla direttiva Page: MantainScrollOnPostBack ma in passato aveva problemi di compatibilità di browser.
Purtroppo non vedo l'update panel. Bisogna agire su UpdateMode e sui Trigger.
Qui trovi un post interessante sul primo:
https://blogs.msdn.microsoft.com/mschray/2013/06/05/update-panel-update-mode-always-vs-conditional-or-why-is-my-ajax-control-losing-focus/
Diciamo che con conditional è più performante.

Ormai programmano tutti... ma la professionalità appartiene a pochi
944 messaggi dal 11 febbraio 2013
Grazie
Ho appena provato a mettere conditional sul updatepanel e un partial postback su un evento:

<Triggers>
<asp:AsyncPostBackTrigger ControlID="cblNrOrdine" EventName="SelectedIndexChanged" />
</Triggers>

...ma non va

l'unica cosa che sembra funzionare è questa http://stackoverflow.com/questions/5288682/maintain-panel-scroll-position-on-partial-postback-asp-net

ma ancora devo capire cosa fa...tuttavia funziona anche senza clientID=AUTO e anche con master page.
Se inserisci la checkbox list nell'updatepanel sei già ok.
Se definisci il postback in quel modo vuol dire che quell'evento genererà un postback.

Ormai programmano tutti... ma la professionalità appartiene a pochi
944 messaggi dal 11 febbraio 2013
Ho provato cosi ma ti assicuro che cè uno scroll verso l'alto

 <asp:UpdatePanel ID="pnl" runat="server" >
        <ContentTemplate>
   
   <asp:TextBox ID="txtbxNrOrdine" runat="server" Width="600px" style="text-align:center;" ReadOnly="true" placeholder="seleziona numero ordine..."/>
   <asp:Panel ID="PnlNrOrdine" runat="server" 
                         Height="150px" Width="600px" 
                         BorderStyle="Solid" BorderWidth="1px" BorderColor="LightGray" 
                         Direction="LeftToRight"
                         ScrollBars="Both" BackColor="White"
                         Style="display: none" >  
 <div style="text-align:center;" >  
        
      <asp:CheckBox ID="CkbxNrOrdine" runat="server" AutoPostBack="true" OnCheckedChanged="CkbxNrOrdine_CheckedChanged" />
  </div>   
                               
 <ccbl:MyCheckBoxList ID="cblNrOrdine" runat="server" AutoPostBack="true"  Height="150px" Width="600px" DataTextFormatString="- {0}"
     OnSelectedIndexChanged="cblNrOrdine_SelectedIndexChanged"  >       
 </ccbl:MyCheckBoxList>

</asp:Panel>

<ajax:PopupControlExtender ID="PopUpCextNrOrdine" runat="server" Enabled="True" TargetControlID="txtbxNrOrdine" PopupControlID="PnlNrOrdine" OffsetY="22"  /> 
      </ContentTemplate>
      
    </asp:UpdatePanel>


rettifico...se inserisco un updatepanel immediatamente prima del checkboxlist allora si ! In quel caso hai perfettamente ragione
ciao
Modificato da jjchuck il 12 ottobre 2016 16.02 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.