- - PR -
ASP.Net Button.Attributes に関して
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-16 16:52
はじめまして。こまちうといいます。
WebApplicationでWindowsApplicationでいうMessageBoxのYesNoBoxと 同じ事を行いたいと思っています。 Page_Loadに Button1.Attributes("OnClick") = "return confirm('テストを実行しますか');" を記述する事で上手く行きました。 しかし対象のボタンが WebFormの場合は上手くいくのですが、HTMLオブジェクトをサーバーコントロール に変換したボタンの場合に確認ダイアログは出力されるのですがOKを押しても Botton1_ServerClick()に入りません。 見た目での違いはWebフォームボタンの場合は Button1_Click() に対してHTMLをサーバコントロールに変換したものは Button1_ServerClick()となっています。 何か記述が必要なのでしょうか? 分かる方がいらっしゃいましたら教えて下さい。 | ||||||||
|
投稿日時: 2005-02-16 17:02
これはサーバ側のコードの違いですよね? 動かして表示されたaspxのHTMLコードを「ソースの表示」で見てみると謎が解けます。 | ||||||||
|
投稿日時: 2005-02-16 17:14
ぼのぼのさん早速の返答ありがとうございます。
たしかにHTMLのソースは違いました。 HTMLをサーバコントロールに変換したものには勝手に __doPostBack('Button1','') というものが入ってました。 初心者の質問で申し訳ございませんが、WebAppliに詳しい人間 が周りに居ないため対処方法がわかりません。 実際にどのようにコードを改良すればWebフォームのボタン、 サーバコントロールのボタンが同じ動きをするのでしょうか? | ||||||||
|
投稿日時: 2005-02-16 17:34
私が今作ってるWebアプリは対象がIEのみの社内向けのものなので、IE以外のブラウザでの動作を保証しないような回答しかできないですよ?(^^;
そういう状況ならこまちうさんが勉強してWebAppliに詳しい人間になるしかないですね… 上に書いた範囲内で良ければサンプルは提示できますが、その前に確認したいことがあります。 「サーバコントロールのボタンは使わない」という方法ではだめですか? 両方使いたい理由があるなら教えてください。 | ||||||||
|
投稿日時: 2005-02-16 17:48
ぼのぼのさん返答ありがとうございます。
私が作成しているものも同じIEのみの社内向けです。 本件に遭遇した順序を説明しますと、 稼動中のWebサービスがあるが要望でYesNoボックスでSubmit前に確認を取りたい ↓ テスト環境でYesNoボックスの処理が成功 ↓ 本番プログラムで処理が失敗 ↓ 原因を調べたら、テスト環境はWebフォームボタン、本番環境はHTMLサーバコントロール という流れでした。 本番環境がサーバコントロールの理由はWebフォームだと問題があり、サーバコントロールにした記憶がございます。 私としましては、なるべく本番の環境を変更(サーバコントロールからWebフォームのボタンに移行する)したく無いのが本音です。 以上、よろしくお願い致します。 | ||||||||
|
投稿日時: 2005-02-16 20:57
[input type=button]となっているのを[input type=submit]に変更する。
# [は<に、]は>に変更してね。 # HTMLも勉強しておいてください。 _________________ | ||||||||
|
投稿日時: 2005-02-16 23:06
まず、これがそもそも問題です。テスト環境で本番プログラムを流用せずに新規に作り直した、ということですか?それではテストの意味がないではないですか。
チームとしての方針なら仕方ないですけど、個人の考えだけでこれを決めるのは軽率です。Webフォームの方が結果的に正解かもしれませんよ? Webフォームだと問題があり、のとこで具体的に何が問題だったのか、を書いてください。WebフォームのボタンがHTMLのbuttonではなくsubmitになるのはご存知でした?もしそれが問題の原因ならJittaさんご提示の方法では解決しませんよ。 #サンプルを出し惜しみしてるわけではありません、念のため… | ||||||||
|
投稿日時: 2005-02-17 00:05
だと、trueでもfalseでもリターンしてしまうので・・・
falseの時だけリターンするようにする。 #つか、俺はそうしてる。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2005-02-17 00:06 ] |