Web メソッドを照会して文字列を返す ASP 2.0 Web フォーム コードをいくつか継承しました。簡略化したバージョンは次のようになります。
コードビハインド
<System.Web.Services.WebMethod()> _
Public Function StockLevel() as String
return "120"
End Sub
.aspx ページ
function GetStockLevel() {
$.ajax({
type: 'POST',
url: 'Stock.aspx/StockLevel',
// data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'text',
success: function (data) {
alert(data);
}
});
}
ページには、asp:Label id="stockLabel" runat="server" などの asp ラベル コントロールがあります。
現在、StockLevel関数を変更してラベルテキストを120に設定しようとすると、jquery呼び出しに文字列120が返され、アラートが表示されます。
stockLabel.Text = "120"
インテリセンスを取得しましたが、ページの値を更新していないようです。これは AJAX の性質によるものだと思います (この場合、ajax 呼び出しからの戻り値を使用してラベルの値を設定する必要があります。 )、おそらくこの時点でコントロールが読み込まれていないか、スコープの問題があります。これは正しいです?なぜこれが起こるのか知りたいのですが、これは私が期待する正しい動作ですか、それとも何か間違ったことをしていて、ラベルは正しい値で更新されるべきですか?
ポインタやアドバイスは素晴らしいでしょう。