- PR -

SmartNavigation = True について

投稿者投稿内容
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-02-24 15:04
Jittaさん。詳しく有難うございます。
でも、まだダメなんです。
とりあえずサンプルとして新規プロジェクトで作成してみました。
画面のかなり下部にドロップダウンリストを設定して、LOAD時に1〜5を設定。
AUTOPOSTBACK = TRUE としています。smartNavigationはFalseです。

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="smartNavi.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" content="Visual Basic .NET 7.1">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<input id="scrollManager" type="hidden"> <input id="scrollManager.Top" type="hidden">
<FONT face="MS UI Gothic">
<asp:DropDownList id="ddlList" style="Z-INDEX: 101; LEFT: 312px; POSITION: absolute; TOP: 848px" runat="server"
AutoPostBack="True"></asp:DropDownList></FONT>
<script language="javascript">if (window.document.body.onload != null) {c = window.document.body.onload.toString();c = c.replace(/^[^{]*{/, '{');c = c.replace(/}$/, '}');} else { c = '';}c = new Function(c.toString() + 'window.scrollTo( document.all("scrollManager").value,document.all("scrollManager.Top").value);');window.document.body.onload=c;</script>
<script language="javascript">if (window.document.body.onscroll != null) {c = window.document.body.onscroll.toString();c = c.replace(/^[^{]*{/, '{');c = c.replace(/}$/, '}');} else { c = '';}c = new Function(c.toString() + 'document.all("scrollManager").value=window.document.body.scrollLeft;document.all("scrollManager.Top").value=window.document.body.scrollTop;');window.document.body.onscroll=c;</script>
</form>
</body>
</HTML>

これでも、POSTBACK時に先頭に戻ってしまいました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-24 16:25
hiddenをtextにして、スクロールしたとき、
再読込したときに値がどうなっているか、
確認してみてください。

あと、適当に改行してください。。。
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-02-24 17:05
>あと、適当に改行してください。。。
誠に申し訳ありませんでした。
以後、気を付けます。

Form_Load時  
scrollManager = 0; scrollManager.Top = 0

スクロールすると
scrollManager = 0; scrollManager.Top は増加していく

PostBack時
scrollManager = Null; scrollManager.Top = Null です。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-24 17:34
runat="server"かなぁ?

デザイナで、コントロールを右クリックして
「サーバーコントロールとして実行」をクリック。
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-02-24 18:06
実行しましたがエラーとなってしまいました。

解析エラーメッセージ: 'scrollManager.Top' は有効な識別子ではありません。
<input id="scrollManager" type="hidden" runat="server">
<input id="scrollManager.Top" type="hidden" runat="server">

ちなみに、現在はクライアントマシン1台で製造中で
LocalHostを見に行っているようですが、関係ありますか?

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-24 20:47
引用:

さとるさんの書き込み (2004-02-24 18:06) より:

<input id="scrollManager.Top" type="hidden" runat="server">


 IDにドット付きは許されませんからね。単純には「scrollManagerTop」とかにすればいいのですが、どうやっているんだろう?
あのページ、aspxですよねぇ???書いてあることからして、どこからかダウンロードできるようなのですが・・・???
TARO
会議室デビュー日: 2004/02/23
投稿数: 15
投稿日時: 2004-02-25 09:22
Jittaさん、有難うございます。
正常に動くようになりました。
SmartNavigationについては、何故ダメだったんでしょうね?
私もいろいろと調べて、分かりましたら書込みさせていただきます。

いろいろと親切に有難うございました。
私もこれから精進したいと思います。

スキルアップ/キャリアアップ(JOB@IT)