- PR -

ASP.Net Button.Attributes に関して

投稿者投稿内容
こまちう
会議室デビュー日: 2004/12/14
投稿数: 5
投稿日時: 2005-02-17 08:10
ぼのぼのさんjittaさん書き込みありがとうございます。

Webフォームボタンでの問題はぼのぼのさんの言うとおり
submitに問題がございました。 
クライアントがテキスト入力中等にリターンキーを押して
しまう事の回避策としてHTMLフォームを選びました。

以上、よろしくお願いいたします。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-02-17 22:26
引用:

こまちうさんの書き込み (2005-02-17 08:10) より:
Webフォームボタンでの問題はぼのぼのさんの言うとおり
submitに問題がございました。 
クライアントがテキスト入力中等にリターンキーを押して
しまう事の回避策としてHTMLフォームを選びました。


やはりそうでしたか。サンプルは…
より良い方法が先に書かれてるんですが orz せっかくなので書いときます。

コード:

@aspx上にサーバコントロールのHiddenを1個置く
Aaspxのどっかに↓を書いておく
<script language="javascript">
<!--
function MySubmit(btnId) {
    if(confirm('テストを実行しますか')) {
        document.getElementById("Hidden1").value = btnId;
        Form1.submit();
    }
}
//-->
</script>
Baspx.vbのPage_Loadに↓を書く
If Not IsPostBack Then
    Button1.Attributes("onclick") = "MySubmit(this.id)"
Else
    Select Case Me.Hidden1.Value
        Case "Button1"
            'ここで自前で用意したサブルーチンを呼ぶ
    End Select
    Me.Hidden1.Value = ""
End If


この方法のいいところは、ボタンのクリックからサーバ側のサブルーチンに処理が渡るまでの流れを全部自分で書いていて、「裏で自分の把握してないことをやられてる感」が少ないこと。裏で何やってるか把握した上で使う分には、NAL-6295さんの方法の方が全然スマートですね
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2005-02-18 09:34
引用:

こまちうさんの書き込み (2005-02-16 17:48) より:

本番プログラムで処理が失敗
  ↓
原因を調べたら、テスト環境はWebフォームボタン、本番環境はHTMLサーバコントロール


の原因がsubmitだと言うことを最初の段階で提示して欲しかったですね。

参考程度に過去ログより、
TextBoxのEnter時イベント
こまちう
会議室デビュー日: 2004/12/14
投稿数: 5
投稿日時: 2005-02-19 16:23
ぼのぼのさん サンプルありがとうございます。

無事に動作しました。

ありがとうございました。

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