- PR -

親と子の値渡し。

投稿者投稿内容
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 20:41
なおこ(・∀・)さん、でっち6号さん、todoさん。

ありがとうございました。
先ほどのは、こちらのミスでした。
うまく、表示できました!!!!

この何日間で久々のやりがいを感じました。
こんなことも分からなかったかと思うと恥ずかしいのですが、
わたしにとってはやっとのことだったので、
みなさんにとても感謝しています!

ありがとうございます!!!
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 20:47
できて、喜んでいたのですが、ちなみに、子画面表示している
時、裏で処理が行われている時に、画面をさわれないように
するような制御は、Webで存在しますか?

(もしかしたら、新しくスレッド起こすべきでしょうか)
(マナー違反してましたら、申し訳ありません)
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-10-05 21:17
今晩は、でっちです。

引用:

じぃさんの書き込み (2005-10-05 20:47) より:
できて、喜んでいたのですが、ちなみに、子画面表示している
時、裏で処理が行われている時に、画面をさわれないように
するような制御は、Webで存在しますか?



あー、これ書いた後に気づいて気にはしていたのですが。。。
検索中に閉じてもゾンビのように復活してしまうんですよね orz

対処方法は基本的にありません。
Activexを使用しても良いならば、閉じるボタンについてはこちらのスレが参考になると思います。
気休め程度ですが、検索中は親画面を前面に出して、検索終了時に子画面を前面に出すと言う手もあります。
って、それじゃ検索中の画面出す意味ないじゃん <俺

あと、todoさんの書かれた方式も検討して見て下さい。
私は、親画面側に検索条件などの入力項目が多数あるものと脳内補完したので、あのように回答しましたが、todoさんの仰るとおり子画面側でやるのも手だと思います。

入力項目等がある場合も、じぃさんの立てられた画面切り替えスレとフォームのPostを組み合わせれば何とかなると思います。

[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-10-05 21:20 ]
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-05 21:23
でっち6号ベテランさん、本当にありがとうございます。
いろいろ検討して、さらに調べる必要がありそうですね。

方式も一通りではないようですし、それぞれの処理にあった
形を考えて行かなければいけませんね。

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

甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2005-10-05 22:03
Internet Explorer限定で良いなら、ModalDialogが使えます。

でも最近は別ウィンドウを表示すること自体が敬遠される事も多いですし、他のウィンドウを開くような処理は避けるべきと思います。WindowsアプリケーションぽいUIを作ろうとすると苦労することも多いでしょう。WEBアプリケーションぽいUIの構成を考えてみては如何でしょう?

「もろもろの入力項目をごっそり非表示にして、進捗状況を表すコントロールを表示する」とか「入力内容を確認する画面に遷移して、Reloadを繰り返しながら進捗状態を表示する」とか、「進捗状態を表示する必要が無いような(相手を待たせないような)UIを考える」とか。
_________________
甕星 <mikahosi@abox9.so-net.ne.jp>
http://blogs.msmvp.jp/mikahosi/
じぃ
常連さん
会議室デビュー日: 2005/09/12
投稿数: 23
投稿日時: 2005-10-06 10:28
甕星さん、ありがとうございます。
ちなみに、ModalDialogとは、showModalDialogで間違いないですか?
今まで、Window.openでしてきましたが、それをモーダル画面
指示にするということですよね?

ちなみに、以前やってみたことあるんですが、裏のつまり、
親画面の処理は、モーダル画面表示中に走りますか?


todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-10-06 12:46
引用:

入力項目等がある場合も、じぃさんの立てられた画面切り替えスレとフォームのPostを組み合わせれば何とかなると思います。



なるほど!
子画面をターゲットにポストバックするという手もありますね。

コード:

<%@ Page ContentType="text/html" Language="C#" %>
<script runat="Server">
void Page_Load(Object sender, EventArgs e) {
if (!Page.IsPostBack) {
Button1.Attributes["onclick"]
= "var w = window.open('','child', 'width=550,height=300');"
+ "w.document.open();"
+ "w.document.write('wait...');"
+ "w.document.close();"
+ "w.focus();"
+ "this.form.target='child';";
}
}
private void Button1_Click(object sender, System.EventArgs e) {
System.Threading.Thread.Sleep(1000);
Panel1.Visible = false;
Panel2.Visible = true;
int n = int.Parse(TextBox1.Text) + int.Parse(TextBox2.Text);
Label1.Text = n.ToString();
}
</script>
<HTML>
<body>
<form runat="server">
<asp:Panel id="Panel1" runat="server">
<asp:TextBox id="TextBox1" runat="server">1</asp:TextBox>
<asp:TextBox id="TextBox2" runat="server">2</asp:TextBox>
<asp:Button id="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
</asp:Panel>
<asp:Panel id="Panel2" runat="server" Visible="False">
<asp:Label id="Label1" runat="server"></asp:Label>
<INPUT onclick="window.close();" type="button" value="close">
</asp:Panel>
</form>
</body>
</HTML>



[ メッセージ編集済み 編集者: todo 編集日時 2005-10-06 12:54 ]

[ メッセージ編集済み 編集者: todo 編集日時 2005-10-06 12:56 ]

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