2012-02-24 18 views
0

私はdbから連絡先のリストを表示する簡単なアプリケーションに取り組んでいます。 dbに新しい連絡先を追加することは可能です。新しい連絡先が追加された場合は、その連絡先のメッセージが表示されます。コードビハインドファイル(asp.net)からjQueryイベントをトリガー

場所は、デフォルトでVisible = falseに設定されているdiv内のラベルに表示されます。連絡先が正常に追加されると、Visibleがtrueに設定され、メッセージがラベルテキストに表示されます。ここまでは順調ですね。

10秒後にメッセージが消えてしまい、そのためにjQueryを使いたいということです。私が助けが必要なのは、コードビハインドファイルからjQuery関数をトリガする方法です。私は要素が存在するかどうかを確認しようとしましたが、その場合は関数を起動しますが、何も起こりません。

ありがとうございます!

の背後にあるコードから

var Capsule = { 

    hideMessage: function() { 
     setTimeout(function() { 
       $("#successMessage").hide("fade", {}, 1000); 
     }, 5000); 
    } 
} 

window.onload = Capsule.init; 

答えて

1

あなたはjqueryのを呼び出すために、次のコードを使用することができますJSファイルから

<div id="successMessage" runat="server" visible="False"> 
      <asp:Label ID="message" runat="server"></asp:Label> 
    </div> 

:default.aspxをから

protected void ContactObjectDataSource_Inserted(object sender, ObjectDataSourceStatusEventArgs e) { 
     if (e.Exception != null) { 
      AddErrorMessage("An error occurred."); 
      e.ExceptionHandled = true; 
     } 
     else { 
      successMessage.Visible = true; 
      message.Text = "The contact was successfully added!"; 
     } 
    } 

関数をC#から:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>hideMessage();</script>", false); 
+0

私はその行を今追加しましたが、動作していませんか?私はその行が実際に実行されていることを確認できるようにデバッグしました。私は別のjs.file(私はそれが動作することをテストした)で自分のjQueryコードを持っている場合は、重要です。 – holyredbeard

0

こんにちは、これを行うために、Ajax.dllを使用してAjax.Methodを作成することができます。

注:このメソッドではサーバサイドコントロールは使用できません。メソッドの値を渡す必要がありますし、クライアント側でoutメッセージも表示する必要があります。 falseを返しても、あなたはページをポストバックしません。

実際の実装については、以下のセクションを参照してください。

Refer this link.

関連する問題