- - PR -
ASP.net Ajax atlasについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-22 16:28
初めまして。
どこをみてもよくわからなかったので投稿させていただきました。 C# 2005でAtlas正式版(ASP.net AJAX)を使用してwebアプリケーションの開発をしています。 処理としましては UpdatePanelの中にGridViewを配置し AsyncPostBackTriggerのControlIDにButton1、EventNameにclickを 設定しています。 Button1_Clickの処理はDBにアクセスしデータを取得後、GridViewに データバインドです。 DBにアクセスした際にデータが取得できなかった場合、alertメッセージを 出力させたいのですがうまく出力されません。 どなたかご存じの方が居ましたら知恵をお貸しください。 protected void Button1_Click(object sender, EventArgs e) { DBにアクセス(); if(データが取得できない場合) { Type cstype = this.GetType(); Page.ClientScript.RegisterStartupScript(cstype, "Message", "alert('データなし');"); } else { データバインド(); } } | ||||
|
投稿日時: 2007-02-22 16:41
UpdatePanelの中が書き換わるだけだから、RegisterStartupScriptってしても無意味なんじゃないでしょうか。
| ||||
|
投稿日時: 2007-02-22 16:50
そうなんですよね。そこでつまずいていまして・・。 なんとかサーバーサイドからスクリプトを走らせることはできないでしょうか? それともUpdatePanelを使用しての部分ポストバック?ではサーバーサイドから スクリプトを走らせるというのは根本的に考え方がおかしいのでしょうか? | ||||
|
投稿日時: 2007-02-22 17:17
Microsoft.Web.UI.ScriptManager
を調べると。。。 _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-02-22 17:29
AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)のことでしょうか? 検討違いでしたらごめんなさい。 あのイベントも試してみたのですが Exceptionを発生させなければならず断念したのです。 protected void Button1_Click(object sender, EventArgs e) { if(データが取得できない場合) { throw new ArgumentNullException(); } } protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e) { this.ScriptManager1.AsyncPostBackErrorMessage = "データなし"; } 直接処理をcallしてもalertメッセージは出力されないし・・。 ↓ ScriptManager1_AsyncPostBackError(null,null); Exceptionを発生させるしかないのでしょうか? | ||||
|
投稿日時: 2007-02-22 17:43
http://ajax.asp.net/docs/mref/T_System_Web_UI_ScriptManager.aspx
を眺めると。。。 RegisterClientScriptBlock(page, type, key, script, addScriptTags) http://ajax.asp.net/docs/mref/M_System_Web_UI_ScriptManager_RegisterClientScriptBlock_5_0feb167c.aspx RegisterClientScriptBlock(Control, Type, String, String, Boolean) http://ajax.asp.net/docs/mref/M_System_Web_UI_ScriptManager_RegisterClientScriptBlock_5_d03cd23f.aspx _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-02-22 19:21
できました!!
protected void Button1_Click(object sender, EventArgs e) { if(データが取得できない場合) { ScriptManager.RegisterClientScriptBlock(Button1, typeof(Button), "msg", "alert('データなし');", true); } } かるあ様ありがとうございました。 |
1