- - PR -
VBScriptのメッセージボックスの戻り値のC#コード側での取得
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-15 12:06
いつもお世話になっております。
現在、Webコントロールのボタンをクリックすると[OK]と[キャンセル]ボタンのある メッセージボックスをVBScriptで表示し、メッセージボックスの戻り値によって C#のコード側(.csファイル)で処理を変える実装を行おうとしています。 VBScriptで、 Sub Message(Msg) Dim strMessage strMessage = Msg Call MsgBox(strMessage,vbokcancel,strMessage) End Sub という関数を定義し、 csファイルのPage_Load()中に以下の記述を行っています。 Button.Attributes.Add("OnClick", "Message('何かのメッセージ')"); これでWeb画面上のButtonを押すとメッセージボックスは表示されるのですが、 どのボタンを押されたかの情報をcsファイルのコード側でどのように 取得するのでしょうか? ご存知の方、よろしくお願いします。 | ||||||||
|
投稿日時: 2003-12-15 12:49
値を取得すればいけます。
ちょっと今環境無くてTxtで記述したので 細かいところは自分で調べて修正してください。
| ||||||||
|
投稿日時: 2003-12-15 12:53
VBScriptの使い方がわかりませんが、私は同じ問題でJAVAScriptを使って解決しました。
JAVAScriptのソースは function ShowMsg(str){ return window.confirm(str); } Page_Load()中に以下の記述を行っています。 Button1.Attributes.Add("onclick", "return ShowMsg(""" & "何かのメッセージ" & """);") この中のButton1はボタンIDです。 そっちのButton.Attributes.Add("OnClick", "Message('何かのメッセージ')");の中で、Buttonをボタン名に入れ替わったらいかがでしょうか。やってみてください。 | ||||||||
|
投稿日時: 2003-12-15 14:00
ご返答、ありがとうございます。
質問内容が判りにくかったかも知れませんが 私が今試しているのは、Webフォーム上でのことなので、 Message.Showメソッドは使用できないと思うのですが どうでしょうか?
| ||||||||
|
投稿日時: 2003-12-15 14:11
C#初心者さん:そっちのVBScriptを試してみました。やはりButtonは押されたボタンのIDです。
| ||||||||
|
投稿日時: 2003-12-15 14:13
VBScript側で
if vbOK = MsgBox(strMessage,vbokcancel,strMessage) Then みたいにして form名.TextBox1.value = "サーバに渡す値" のようにhiddenタグか何かに保存するんですかねぇ。 ざっと思いつくのでは、asp:textBoxで大きさを0にするか HtmlInputHiddenを使うかですね。 <asp:TextBox Visible="false" ・・ > にするとViewStateに入っちゃいますし (入らない方法ご存知の方おりますか?) レイコさんの方法ではどうやってサーバで値をとってるんでしょうか? [ メッセージ編集済み 編集者: べる 編集日時 2003-12-15 14:14 ] | ||||||||
|
投稿日時: 2003-12-15 14:23
VBScriptと同じだと思いますが、画面のHTML
<HTML> <HEAD> <script src="JScript1.js" type="text/javascript"></script> ・・・を追加すればと思います。 JScript1.jsに function ShowMsg(str){ return window.confirm(str); } を入れます。 JScript1.jsの組み込む方はVBScriptoと同じです。 でも、先ほど返事しましたが、こっちはVBScriptでも同じく実現できました。 | ||||||||
|
投稿日時: 2003-12-15 14:30
EnableViewState = False ではなく? |