2012-04-16 10 views
0

Asp.net webformにLabelTotalNumberという名前のラベルを配置しました。フォームをリフレッシュせずにjQueryで1分ごとに値を更新したい。どうすればいいのですか?jQueryで値を更新

私はこのようにPage_Loadイベントを1回実行できます。

var sqlResult = (From obj in db.RequestList 
       where obj.IsApproved == "Approved" 
       select obj).count(); 
LabelTotalNumber.text = sqlResult; 
+1

ページをしたい場合ポストバックせずに更新するには、あなたは、AjaxとWebサービス(たとえば、jQueryのAJAX()メソッドおよびASP.NET WCFサービス)を使用する必要があります – Zachary

+1

あなたはjQueryのを使用する方法を知っていますか? –

+0

あなたは、任意のサンプルコードやリンクを持っていますか私は学ぶことができますか? – Hoorayo

答えて

1

アウトオブザマイクロソフトボックスUpdatePanel and a Timerを使用できます。

は、MicrosoftボックスとたいあなたはASP.NET PageMethodに(window.setIntervalメソッドを使用して)一定の間隔でAJAXリクエストを送ることができるのJavaScriptのjQueryを/(使用の内容が気に入らない場合は基本的に自分自身を与える必要があります。その場合にはjQueryのdocumentation/tutorialsを読んで、ちょっとしたコードを書いてください。

だから、ASP.NET PageMethod:その後、

[WebMethod] 
public static int Approved() 
{ 
    return (from obj in db.RequestList 
      where obj.IsApproved == "Approved" 
      select obj).Count(); 
} 

とAJAXリクエスト毎分かそこらでこれPageMethodをハンマー:

window.setInterval(function() { 
    $.ajax({ 
     url: '/foo.aspx/Approved', 
     type: 'POST', 
     contentType: 'application/json', 
     data: '{ }', 
     success: function(result) { 
      var count = result.d; 
      // TODO: do something with the count returned by the server 
      // like assigning it to a label or something: 
      $('#someLabelId').html(count); 
     } 
    }); 
}, 60 * 1000); 
0

あなたはどこのサーバーページを呼び出すためにjQueryのAJAXを使用することができますあなたはデータベース操作を行うことができます。 setIntervalメソッドを使用して、特定の間隔でスクリプトを実行します。

var tid = setInterval(UpdateData, 60000); 
function UpdateData() { 
    $.get("yourserverpage.ashx",function(data){ 
    $("#yourDiv").html(data) 
}); 
} 

それが呼び出され、yourDivはあなたが更新されたデータを表示したいのdiv(表示されるマークアップを返してyourserverpage.ashxを想定しているされている場合Assumung yourserverpage.ashxは、データベースupdationを処理します。

関連する問題