|
ProgrammaSubito.it
|
|
|
|
|
|
|
|
|
|
|
|
Mantere la posizione dello scroll di un panel fra Postback
Maintaining scroll position of Panel on Postback
In questo esempio viene mostrato come mantenere la posizione degli scrolls di un Panel Control fra Postback.
>>
File Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" MaintainScrollPositionOnPostback="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>ProgrammaSubito.it</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Panel ID="Panel1"
runat="server"
Height="100px"
ScrollBars="Both"
BorderWidth="1"
Width="200px">
<div style="width:250px">
Nel mezzo
del cammin di nostra vita
mi ritrovai per una selva oscura
ché la diritta via era smarrita.
Ahi quanto a dir qual era è cosa
dura
esta selva selvaggia e aspra e
forte
che nel pensier rinova la paura!
</div>
</asp:Panel>
<br /><br />
<asp:Button ID="Button1"
runat="server"
Text="Do
PostBack" />
<!-- Definisco due hidden field dove memorizzerò rispettivamente
-- il valore dello sroll
Orizzontale e Verticale -->
<asp:HiddenField ID="HF_scroll_Hor"
runat="server"
/>
<asp:HiddenField ID="HF_scroll_Ver"
runat="server"
/>
<!-- Definissco 2 funzioni javascript
-- getScroll(PanelID, HiddenFieldID1, HiddenFieldID2)
-- che sarà richiamata ogni volta che cabierà lo
scroll
-- del Panel e memorizzerà
negli hidden filed il valore
-- dello sscroll e
-- setScroll(PanelID, HiddenFieldID1, HiddenFieldID2)
-- che sarà richiamata al caricamento della
pagina
-- e reimposterà il valore
dello scroll recuperandolo
-- dagli hidden field -->
<script type="text/javascript">
function setScroll(PanelID, HiddenFieldID1,
HiddenFieldID2)
{
if ( document.getElementById(PanelID) != null
&& document.getElementById(HiddenFieldID1) != null
&& document.getElementById(HiddenFieldID2) != null )
{
document.getElementById(PanelID).scrollLeft=
document.getElementById(HiddenFieldID1).value;
document.getElementById(PanelID).scrollTop =
document.getElementById(HiddenFieldID2).value;
}
}
function getScroll(PanelID, HiddenFieldID1,
HiddenFieldID2)
{
if (
document.getElementById(PanelID) != null
&& document.getElementById(HiddenFieldID1) != null
&& document.getElementById(HiddenFieldID2) != null)
{
document.getElementById(HiddenFieldID1).value =
document.getElementById(PanelID).scrollLeft;
document.getElementById(HiddenFieldID2).value =
document.getElementById(PanelID).scrollTop;
}
}
setScroll('<%= Panel1.ClientID %>','<%= HF_scroll_Hor.ClientID %>','<%= HF_scroll_Ver.ClientID %>');
</script>
</div>
</form>
</body>
</html>
File Default.aspx.cs
public partial
class _Default
: System.Web.UI.Page
{
protected void Page_Load(object
sender, EventArgs e)
{
Panel1.Attributes.Add("onscroll", "getScroll('"
+ Panel1.ClientID + "','" +
HF_scroll_Hor.ClientID + "','" +
HF_scroll_Ver.ClientID + "')");
}
}
|
|
|
|
|
|
|