|
分類:[ASP.NET (VB)]
お世話になります。
VS2010 ASP.NET(VB)を使用しております。
横長の画像をPanelの中にImageButtonを入れて
スクロール表示するようにしているのですが
Postbackするとスクロールバーが元の位置(左端)に戻ってしまいます。
過去ログより以下のように設定しましたが
Javaスクリプト側では値の取得が出来ているのですが
hidScroll.Valueの値の保存とスクロール位置の保持ができません。
よろしくお願いします。
[Default.aspx]
<head id="Head1" runat="server">
<title>Paneltest</title>
<script type="text/javascript">
//<![CDATA[
function lfncScroll() {
document.getElementById('<%=hidScroll.ClientID %>').Value = document.getElementById('<%=Panel1.ClientID %>').scrollLeft;
}
function LoadScroll() {
document.getElementById('<%=Panel1.ClientID %>').scrollLeft = document.getElementById('<%=hidScroll.ClientID %>').Value;
}//]]>
</script> </head>
<body onload="LoadScroll()">
<form id="form1" runat="server">
<input id="hidScroll" type="hidden" name="hidScroll" runat="server" value="0" />
<asp:Panel ID="Panel1" runat="server" Height="100px" Width="500px"
ScrollBars="Auto" onscroll="lfncScroll();" >
<br />
<asp:ImageButton ID="ImageButton1" runat="server"
ImageUrl="test.bmp" Height="100px" Width="1000px" />
</asp:Panel>
<asp:Button ID="Button1" runat="server" PostBackUrl="Default.aspx" Text="Button" />
</form>
</body>
[Default.aspx.vb]
If IsPostBack Then
Dim script As New System.Text.StringBuilder
script.Append("<script languege=""JavaScript"">")
script.Append("document.getElementById('" + Me.Panel1.ClientID + "').scrollLeft =")
script.Append("document.getElementById('" + Me.hidScroll.ClientID + "').Value;")
script.Append("</script>")
ClientScript.RegisterStartupScript(Me.Panel1.GetType(), "authenticated", script.ToString)
End If
|