C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: フレーム画面でのポストバック


(過去ログ 49 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■26767 / inTopicNo.1)  フレーム画面でのポストバック
  
□投稿者/ ぽっち (78回)-(2008/10/20(Mon) 17:18:14)

分類:[ASP.NET (C#)] 

こんにちは、いつもお世話になっております。ぽっちです。
現在、asp.netとC#でVisual Studio2005を使用しつつ、ツリービュータイプの掲示板を作成しているのですが、
不安・疑問要素が出てきたので、質問させてください。



現在の仕様としては、


1.トピック(記事)一覧は、左側のフレームで表示されております。

2.トピック(記事)一覧の中の記事をクリックすると右側フレーム内に記事詳細が表示されます。


ここからが質問で、

<質問>
新規作成ボタンを押した後(右側のフレーム内で記事作成後)、左側のフレーム内にあるトピック一覧記事に新規作成した記事を追加させる事は出来るのか。(ポストバック処理の質問です)
記事の削除・編集に関しても同じく。


誰かご存知な方、ご教授お願い致します。
引用返信 編集キー/
■26778 / inTopicNo.2)  Re[1]: フレーム画面でのポストバック
□投稿者/ Jitta on the way (194回)-(2008/10/20(Mon) 21:56:37)
No26767 (ぽっち さん) に返信
> <質問>
> 新規作成ボタンを押した後(右側のフレーム内で記事作成後)、左側のフレーム内にあるトピック一覧記事に新規作成した記事を追加させる事は出来るのか。(ポストバック処理の質問です)
> 記事の削除・編集に関しても同じく。


やり方次第で出来る。

2005なら特に、frame 使わないのが吉。
引用返信 編集キー/
■26779 / inTopicNo.3)  Re[2]: フレーム画面でのポストバック
□投稿者/ ま (139回)-(2008/10/20(Mon) 23:34:10)
更新系は全画面更新でいいのでは?


引用返信 編集キー/
■26785 / inTopicNo.4)  Re[1]: フレーム画面でのポストバック
□投稿者/ いしだ (171回)-(2008/10/21(Tue) 10:06:43)
記事を新規追加した後に、左のトピック一覧ページをJavaScriptで再読み込みするのはどうでしょうか?
新規作成イベントの最後に以下のように追加するとか。
(ぽっちさんの以前の質問に合わせてソースを書いてます)

ClientScriptManager manager = new ClientScriptManager();
manager.RegisterStartupScript(this.GetType(), "testKey", "top.bbslist.location.href('bbs.aspx');", true);

引用返信 編集キー/
■26835 / inTopicNo.5)  Re[2]: フレーム画面でのポストバック
□投稿者/ ぽっち (79回)-(2008/10/21(Tue) 22:13:03)
No26778 (Jitta on the way さん) に返信
書き込み有難うございます。お返事が遅くなりまして申し訳ございません。
frameは使いたくないのは山々ですが、システム仕様の為変えられないので・・・。

結局javascriptでボタンIDが押されたら再読み込みという処理で片付けました。

No26779 (ま さん) に返信
回答・アドバイス有難うございます。お返事が遅くなりまして申し訳ございません。
始め全画面更新で考えたのですが、上にはメニューがあり下の画面がiframeでwebparts仕様の為、どうすれば判らず、適当にframe.htmlへ飛ばせばフレームの左右両方が再更新されると思って処理を書いておりましたが、最終的にjavascriptで解決致しました。

No26785 (いしだ さん) に返信
回答・アドバイス有難うございます。お返事遅くなりまして申し訳ございません。
いしださんのアドバイスのお陰でjavascriptで解決出来ました。

処理としては、<input type〜>で作られたボタンに対してonclickイベントの処理がされた後、同じaspx内に、
function buttunclick{
top.bbslist.location.reload();
}
で解決しました。


ところで
>ClientScriptManager manager = new ClientScriptManager();
>manager.RegisterStartupScript(this.GetType(), "testKey", "top.bbslist.location.href('bbs.aspx');", true);
についての書き方ですが、「新規作成」ボタン(イベント)の最後に書くと仰ってたので、書いてみたのですが、上記1行目のnewに下線が出て、「コンストラクタの定義」がないと怒られてしまいました。
一体何がダメなのか理解できなかったので、msdnも観たのですが・・・イマイチで。
もし宜しければこちらの方法もご教授くださいますと助かります。
解決済み
引用返信 編集キー/
■26840 / inTopicNo.6)  Re[3]: フレーム画面でのポストバック
□投稿者/ ま (141回)-(2008/10/22(Wed) 01:58:58)
> >ClientScriptManager manager = new ClientScriptManager();
> >manager.RegisterStartupScript(this.GetType(), "testKey", "top.bbslist.location.href('bbs.aspx');", true);
> についての書き方ですが、「新規作成」ボタン(イベント)の最後に書くと仰ってたので、書いてみたのですが、上記1行目のnewに下線が出て、「コンストラクタの定義」がないと怒られてしまいました。
> 一体何がダメなのか理解できなかったので、msdnも観たのですが・・・イマイチで。
> もし宜しければこちらの方法もご教授くださいますと助かります。

register なんちゃら系は フォームの頭が startup でフォームの閉じタグ前が scriptblock だったはずで
すが、どっちも画面ロード完了前に動くのであまり良くないです。

仮に startup に登録したとして、ツリーコンテンツのロード時間が長引くと、メインコンテンツのリンク
クリック次第では多重ポストが発生します。

素直に、target = "_top" でフレームトップからの再描画の方がよろしいですね。

>top.bbslist.location.reload();
フォームSUBMITした後にリロード?
なんかよくわからんが動いているならそれで良しか。他人のコードだし。
俺なら絶対やらない。



引用返信 編集キー/
■26860 / inTopicNo.7)  Re[3]: フレーム画面でのポストバック
□投稿者/ いしだ (173回)-(2008/10/22(Wed) 11:40:09)
2008/10/22(Wed) 11:40:23 編集(投稿者)

> >ClientScriptManager manager = new ClientScriptManager();
間違えました。
ClientScriptManager manager = Page.ClientScript;
でどうでしょうか?
解決済み
引用返信 編集キー/
■26961 / inTopicNo.8)  Re[4]: フレーム画面でのポストバック
□投稿者/ ぽっち (80回)-(2008/10/23(Thu) 21:56:35)
No26840 (ま さん) に返信
お返事が遅くなりまして申し訳ございません。
一応動いて、上司の許可も得てるので・・・これでシステム稼動させる予定です。

No26860 (いしだ さん) に返信
> 2008/10/22(Wed) 11:40:23 編集(投稿者)
>
>>>ClientScriptManager manager = new ClientScriptManager();
> 間違えました。
> ClientScriptManager manager = Page.ClientScript;
> でどうでしょうか?

回答有難うございます。そしてお返事が遅くなりまして申し訳ございません。
書き込み制限が出てしまって、掲示板投稿出来なくなってしまったので・・・自宅からしか
返信出来ず・・・。

上記コードは試しましたが・・・デバックは通りましたが、うんともすんともと無反応でした・・・。
なので、上司の許可も得たことなので、javascriptでの対応で行きます。
すみません!お手数おかけしました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -