これには、ページのロード後にブラウザで実行されるクライアントコード(JavaScript)が必要です。 ASP.NETはページを生成してブラウザに送信し、別の要求を取得するまでページを処理します。コードビハインドにタイマーを作成しても、そのコードビハインドはスコープを超えてクラスが生成され、サーバーが要求の処理を完了すると消滅します。最も単純な形式で
、それはこのようなものになります。テキストを変更することができるようにするために
<script>
window.setTimeout(function()
{
//do something
}, 10000); //interval in milliseconds - this is 10 seconds.
<script>
を、あなたのコントロールは、あなたが使用して見つけることができるIDを持っていることを確認する必要がありますJavaScript。通常、サーバーコントロールに使用するIDは、ASP.NETによって多少変更されます。私はこれをoversimplifyingんだけど、一般的に、あなたはこれを行うことができます。
<asp:Label ID="myLabelId" ClientIDMode="Static" Text="The label text"></asp:Label>
または
<div runat="Server" ID="MyLabelId" ClientIDMode="Static">The label text</div>
ClientIdMode="Static"
は、コントロールがページにレンダリングされるとき、それはIDを変更しないことを意味します。
次に、あなたのスクリプトは次のようになります。
<script>
window.setTimeout(function()
{
var label = document.getElementById("MyLabelId");
label.textContent = "The new value";
}, 10000);
<script>
またはその代わりのClientIDMode="Static"
を使用して、あなたのスクリプトでこれを試みることができる:
var label = document.getElementById("<%= MyLabelId.ClientID %>");
.ClientID
ページがコントロールに割り当てるどんなIDです。これは、そのコントロールに割り当てられているIDをスクリプトに直接書き込むことを指示します。
GridViewで作成したボタンのテキストを変更するには、そのButtonオブジェクトへの参照が必要です。Buttonボタン= new Button()は、単に以前に作成したButtonとは関係のない新しいButtonオブジェクトを作成します。 .. – Kevin