- PR -

フレームの違うメソッドの呼び出し

1
投稿者投稿内容
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-24 13:12
お世話になっております。

以下の仕様の画面があります。
--------
C#+javascript
フレームA:入力エリア(a.aspx)
フレームB:ボタン(b.aspx)
---------
フレームAにはテキストボックスなどの入力項目があり
フレームBのボタンをクリックするとフレームAの内容のエラーチェックを行います。
エラーチェックのメソッドはa.aspxにあります。
この場合フレームBのボタンをクリックする事によってフレームAのメソッドを
呼ぶ事ができるのでしょうか?

過去ログを見たらフレームBでフレームAをsubmitするとありますが
その方法も良く分かりません。(やってみましたがうまくいきませんでした)
またフレームBのボタンはサーバコントロールでもHTMLでもどちらでもOKです。

----------
<form id="Form1" method="post" runat="server"target="フレームA">
<INPUT type="submit" value="クリック"ID="Button3"NAME="Button3">
</form>
----------
お知恵を拝借できればと思います。
よろしくお願いします。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2005-11-24 13:50
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=24152&forum=7
window.parent.[FrameName].[FormName].submit();
ではどうでしょう。

frameとASP.NETは相性が悪くて、制御しなきゃいけないことが多くなってくると
プログラミングの効率が非常におちてしまいます。
んで、私はframeを使わない方法をお勧めしてます。

サンプル
http://www.codeseek.net/download/DlTopMenuLeftMenuSource.html

_________________
たつごろー
codeseek
こみゅぷらす
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-11-24 14:18
こんにちは、でっちです。

とりあえずsubmitについてはたつごろーさんが書かれているのでそれ以外の方法

コード:
1.フレームA側に不可視のボタンを配置
<asp:Button id="Button1" runat="server" Text="Button" style="visibility:hidden;"></asp:Button>

2.フレームBのHTMLコントロールのボタンで↑のクリックイベントを呼ぶ
<INPUT type="button" value="登録" onclick="parent.[フレームAのname].document.forms[0].Button1.click();">



こうしておくと、お手軽にフレームA側でButton1のイベントとして処理が拾えるようになります。

#framenameとformnameの間に"document"を挟まないと正常に動作しないのは私だけ?
YURI
会議室デビュー日: 2005/10/21
投稿数: 17
投稿日時: 2005-11-24 15:33
でっち6号様 たつごろー様ありがとうございます。

たつごろーさんのやり方で解決いたしました。
私がサンプルで上げたコードはでっち6号さんのやり方だったので
こちらの方法も解決し大変助かりました。
ありがとうございます。

>frameとASP.NETは相性が悪くて、制御しなきゃいけないことが多くなってくると
>プログラミングの効率が非常におちてしまいます。
>んで、私はframeを使わない方法をお勧めしてます。

そうですね。
次回プロジェクト(があれば)フレームは使わない方法でいこうと思いました。
今回がC#始めてだったのでJAVA+JSPのノリで気軽にフレームを使ってしまいました…。
1

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