C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: javascriptを使用した戻るボタンについて


(過去ログ 40 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■21055 / inTopicNo.1)  javascriptを使用した戻るボタンについて
  
□投稿者/ 純@WAS (8回)-(2008/06/24(Tue) 09:50:45)

分類:[ASP.NET (C#)] 

お世話になっております。

-----------開発環境
Windows XP
IE6
VisualStudio2005
ASP.NET(C#)
-----------

上記環境で戻るボタンを実装したいのですが、複数手法で実施したところ、
動作しなかったり、ページロード時にエラーが発生したりしています。

-----javascript部
///////////////戻るボタン///////////////
function pageBack()
{
history.back();
}
-----
他のjavascriptは正常に動作しています。

-----ページデザイン部
<asp:Button ID="btnBack" runat="server" CssClass="btn-normal"Text="戻る" OnClick = "return pageBack();"/>
-----

上記で行うと「CS1041: 識別子が必要です。キー ワードは 'return' です。」といったエラーが発生します。

またaspx.csのほうで、
btnBack.Attributes.Add("onclick","return pageBack();");
(こちらについては大文字、小文字、セミコロン有無の全パターンで行いました)
と記述すると、エラーは発生しないものの、同一ページでポストバックが発生します。

HTML部品のinput type = "button"も検討したのですが、
メンテナンス時にHTML部品をaspx側で制御しようとすると、煩雑になるという指摘を受けたために、断念しました。

なお、onClientClickも検証済みです。

私の知識不足、調査不足で申し訳ありませんが、ご教示下さい。

以上、よろしくお願い致します。
引用返信 編集キー/
■21100 / inTopicNo.2)  Re[1]: javascriptを使用した戻るボタンについて
□投稿者/ Jitta on the way (121回)-(2008/06/24(Tue) 21:52:08)
No21055 (純@WAS さん) に返信
> お世話になっております。
>
> -----------開発環境
> Windows XP
> IE6
> VisualStudio2005
> ASP.NET(C#)
> -----------
>
> 上記環境で戻るボタンを実装したいのですが、複数手法で実施したところ、
> 動作しなかったり、ページロード時にエラーが発生したりしています。
>
> -----javascript部
> ///////////////戻るボタン///////////////
> function pageBack()
> {
> history.back();
> }
> -----
> 他のjavascriptは正常に動作しています。
>
> -----ページデザイン部
> <asp:Button ID="btnBack" runat="server" CssClass="btn-normal"Text="戻る" OnClick = "return pageBack();"/>
> -----
>
> 上記で行うと「CS1041: 識別子が必要です。キー ワードは 'return' です。」といったエラーが発生します。

これは、サーバのコードにreturn という識別子が必要になると思います。



>
> またaspx.csのほうで、
> btnBack.Attributes.Add("onclick","return pageBack();");
> (こちらについては大文字、小文字、セミコロン有無の全パターンで行いました)
> と記述すると、エラーは発生しないものの、同一ページでポストバックが発生します。
"pageBack();return false ;"かな?




>
> HTML部品のinput type = "button"も検討したのですが、
> メンテナンス時にHTML部品をaspx側で制御しようとすると、煩雑になるという指摘を受けたために、断念しました。

runat=server とか?
引用返信 編集キー/
■21103 / inTopicNo.3)  Re[1]: javascriptを使用した戻るボタンについて
□投稿者/ ま (59回)-(2008/06/25(Wed) 00:53:39)
No21055 (純@WAS さん) に返信
> -----ページデザイン部
> <asp:Button ID="btnBack" runat="server" CssClass="btn-normal"Text="戻る" OnClick = "return pageBack();"/>
> -----
>
> 上記で行うと「CS1041: 識別子が必要です。キー ワードは 'return' です。」といったエラーが発生します。
>
> またaspx.csのほうで、
> btnBack.Attributes.Add("onclick","return pageBack();");

ASP タグの onclick はサーバーサイドのイベント名
コードの Atribute は、クライアントサイドイベントに「JavaScript」を追加する。

OnClick = "return pageBack();"
これと
Attributes.Add("onclick"
これは
実行タイミングが違うけど大丈夫?

それから、history.back は使いません。普通。

引用返信 編集キー/
■21225 / inTopicNo.4)  Re[2]: javascriptを使用した戻るボタンについて
□投稿者/ 純@WAS (9回)-(2008/06/27(Fri) 12:03:21)
遅れて申し訳ありません。

急遽大規模仕様変更で、戻るボタンの実装は保留になりました。

ま様からのご指摘
>ASP タグの onclick はサーバーサイドのイベント名
>コードの Atribute は、クライアントサイドイベントに「JavaScript」を追加する。

>OnClick = "return pageBack();"
>これと
>Attributes.Add("onclick"
>これは
>実行タイミングが違うけど大丈夫?
完全に失念しておりました。こちらもコード用の設計を再作成しているので、
再度レビューを行い検討いたします。

>それから、history.back は使いません。普通。
そうだったのですか。いくつかのサンプルを拝見したところhistory.backばかり掲載されていたのでそれが主流かと。ご指摘ありがとうございます。

jitta様からのご指摘について
>これは、サーバのコードにreturn という識別子が必要になると思います。
>"pageBack();return false ;"かな?
上長からGoサインが出次第早急に試してみます。

>runat=server とか?
私も詳しくは聞いていないので、なぜ煩雑なのかは解りませんが…
多分javascriptを生成するクラスを実装したのですが、
そこにコントロールを渡すときに不具合が出た経験があるとか…
HTMLコントロールとASPコントロールでは名称(ID)が違ったはずなので。

一先ず本件はいつ実装に入るか検討中なので、一旦解決とさせて頂きます。
実装時にはお二方より頂いたアドバイスを参考にさせいて頂きます。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -