- PR -

C# スクロールバーをプログラムから動かす

1
投稿者投稿内容
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-08 17:47
C# で Webアプリケーションを作成しています。
仕様上どうしても1ページが長いページがあります。
この長いページで例えば以下のような処理を行いたいのですが、可能でしょうか?

1.あるページ内に上から「エリア1」「エリア2」「エリア3」があったとします。
2.ページ内のボタンAをクリックしたらエリア2を表示する。
3.ページ内のボタンBをクリックしたらエリア3を表示する。

<a href="#AREA2">などという指定がHTMLではできますが
これをC#と連動させることができません。
お知恵を拝借できたらと思います。よろしくお願いします。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-11-08 18:04
もしJavaScriptを使っていいなら、RegisterStartupScriptメソッドを使って、

 location ="#AREA2";

みたいなスクリプトがload時に実行されるようにしてみたらどうでしょう?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-08 20:23
河端先生の、PageScrollManager がお勧めかも。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-11-08 21:45
設計的に可能なら
Response.Redirect("WebForm1.aspx#AREA2");
のようにしてもいけますね。

[追記]
そのタイミングでサーバー処理が不要なら↓のJittaさんの方法がいいでしょうね。

[ メッセージ編集済み 編集者: べる 編集日時 2005-11-08 22:28 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-11-08 21:50
ボタンをやめてリンクにするとか

submit ボタンをやめて button にするとか


___________________________________________________________________
□ written by Jitta on 2005/11/08
□ Microsoft MVP :Visual Developer ASP/ASP.NET Oct.2005-Sept.2006
_________________
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-11 11:23
返信ありがとうございます。

>もしJavaScriptを使っていいなら、RegisterStartupScriptメソッドを使って、
> location ="#AREA2";
>みたいなスクリプトがload時に実行されるようにしてみたらどうでしょう?

具体的にはどんなスプリクトなのでしょうか?
検討がつきませんでした。JavaScriptはOKなのでこの方法で実現できればイイナと思います。
ページ表示にスクロールさせるスプリクトってあるのでしょうか?

>Response.Redirect("WebForm1.aspx#AREA2");
>のようにしてもいけますね。

>ボタンをやめてリンクにするとか
>submit ボタンをやめて button にするとか

上記2点は残念ながら処理上できません・・・。ありがとうございます。

>河端先生の、PageScrollManager がお勧めかも。

ありがとうございます。勉強してみます。
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-11-11 13:05
こんにちは、でっちです。

引用:

AKKOさんの書き込み (2005-11-11 11:23) より:

>もしJavaScriptを使っていいなら、RegisterStartupScriptメソッドを使って、
> location ="#AREA2";
>みたいなスクリプトがload時に実行されるようにしてみたらどうでしょう?

具体的にはどんなスプリクトなのでしょうか?
検討がつきませんでした。JavaScriptはOKなのでこの方法で実現できればイイナと思います。
ページ表示にスクロールさせるスプリクトってあるのでしょうか?



言葉では、ぼのぼのさんの書かれた内容以上に具体的には書けないので、コード書きます。

コード:
RegisterStartupScript("startup", "<script language='JavaScript'>location='#AREA2';</script>");


※当然、ページ側に<A name=#AREA2/>と言うアンカーが埋め込まれていることが前提。

こちらも読んでおいて下さいね。
MSDN
.NET TIPS
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-11 15:23
でっち6号さん、ありがとうございます。

でっち6号さんと同じようにコーディングしていましたが
意図したように動かず悩んでいました。
でもクラスの処理は間違っていないということで画面の方を見直し、
<A name=#AREA2>を書いていた場所がよくなかった事が判明しました。

みなさまありがとうございました。
1

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