- PR -

VB.NET(ASP.NET)での動的な target の変更

1
投稿者投稿内容
ヒロ
会議室デビュー日: 2003/08/19
投稿数: 6
投稿日時: 2003-10-02 14:29
まだまだ初心者のヒロです。お世話になります。
 
現在、VB.NETでWebアプリケーションの開発をしております。
2フレーム(TOP、MAIN)に分かれた画面で、TOPのフレームには検索条件を入力し、
MAINのフレームに検索結果を表形式で出力する画面を作成しております。

TOPフレームには、表示、印刷のボタンがあり、表示ボタンを押すと表形式でMAINフレームに
一覧出力。 印刷ボタンを押すと、表示した一覧表を印刷するという方式を取りたいと
思っています。

現在TOPフレームの Top.aspxのHTMLに
<form id="Form1" method="post" target="MAIN" runat="server">
上記のように target="MAIN" を追加し、
表示ボタン(イメージボタン)をクリック時に、
Server.Transfer("main.aspx?GYOUTAI=" & a & "&NENGETU=" & txtNengetu.Text)
上記のように条件を送り、一覧MAINフレームに表示しています。

問題は印刷で、JavaScriptで
{
parent.MAIN.focus();
parent.MAINeb.print();
}
上記のように別フレーム内容を印刷している例がありましたので、同様に行おうと

imbtnPrint.Attributes("OnClick") = "javascript:parent.MAIN.focus(); parent.MAIN.Print();"

上記のように、ページロードに追加しましたが、成功しません。
現象として、当然ながら、MAINフレームにヘッダフレームと同じTOP.aspxが表示されるだけで、
何も起こりません。
長くなりましたが、これはターゲットを動的にMAINとTOPに切り替えをしないからなのか
それとも単純にjavaの指定の仕方がまずいのか・・・・
ご教授くだしゃい。
せめて動的に切り替えれたら・・と思っているのですが・・

taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-02 14:50
引用:

ヒロさんの書き込み (2003-10-02 14:29) より:
まだまだ初心者のヒロです。お世話になります。
長くなりましたが、これはターゲットを動的にMAINとTOPに切り替えをしないからなのか
それとも単純にjavaの指定の仕方がまずいのか・・・・
ご教授くだしゃい。
せめて動的に切り替えれたら・・と思っているのですが・・


 Java ScriptはJavaではありませんよ。

Java Scriptでtarget指定するだけかと・・・。

 document.form1.target="_self";
ヒロ
会議室デビュー日: 2003/08/19
投稿数: 6
投稿日時: 2003-10-02 15:20
お返事ありがとうございます。taku様
下記、内容を参考に、
imbtnPrint2.Attributes("OnClick") = "javascript:document.Form1.target='_self'"
としてみたのですが、
もとのHTMLの
target="MAIN"がある為、移行左記が、TOPフレームではなく、MAINフレームになってしまいます。
一覧は、MAINフレームに出したいのですが、
ボタンにより移行先を変更する便利な方法はないですかね?
表示のときはMAINフレームPOSTBACKし情報をわたし一覧表示、
印刷のときは現在の画面にPOSTBACKして、MAINフレーム内の一覧を印刷する
ということがしたいのですが・・・。

taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-10-02 15:31
引用:

ヒロさんの書き込み (2003-10-02 15:20) より:
お返事ありがとうございます。taku様
下記、内容を参考に、
imbtnPrint2.Attributes("OnClick") = "javascript:document.Form1.target='_self'"
としてみたのですが、
もとのHTMLの
target="MAIN"がある為、移行左記が、TOPフレームではなく、MAINフレームになってしまいます。
一覧は、MAINフレームに出したいのですが、
ボタンにより移行先を変更する便利な方法はないですかね?
表示のときはMAINフレームPOSTBACKし情報をわたし一覧表示、
印刷のときは現在の画面にPOSTBACKして、MAINフレーム内の一覧を印刷する
ということがしたいのですが・・・。


 あくまで例なんですが・・・。
フォーム名やターゲットはご自分の環境に合わせてください。
これで理解していただけないなら、Java Scriptの書籍を読むべきです。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2003-10-02 19:16
IE6で試したことなのであしからず

>javascript:parent.MAIN.focus();parent.MAIN.Print()
print()の最初のpは大文字でなくて小文字にすべきでは?

そして
javascript:parent.MAIN.focus();parent.MAIN.print();return false
じゃないですかね?

ただ、印刷するだけでいい(ポストバックしなくていい)のなら
Webコントロール(<asp:ImageButton>)にする必要はないのでは?
<INPUT type="image" src="画像指定"
onclick="javascript:parent.MAIN.focus();parent.MAIN.print();return false">
のように書けばいいと思います。

netscapeではまた挙動が違います。説明すると長くなります(というかちゃんと
試してません)
1

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