私のASP.Netページでは、jQuery AJAXを使用してスクロールしながらサーバーからデータをロードしています。私はこの方法を使用しています。なぜなら、AJAXを使用してサーバーからデータをロードすると、アプリケーションが単独で画面に表示されるデータが最初に読み込まれ、必要に応じてさらに多くのデータがサーバーからロードされるため、ユーザーがスクロールします。私は、次のコードを使用しています。(私の条件が満たされる)いくつかの時点でWebMethodとjQueryの共通変数へのアクセス
$(document).ready(
function() {
$contentLoadTriggered = false;
$(window).scroll(
function() {
if ($(window).scrollTop() >= ($("#wrapperDiv").height() - $(window).height()) && $contentLoadTriggered == false) { //here I want to check for the isReady variable in ViewState
$contentLoadTriggered = true;
$.ajax({
type: "POST",
url: "MyPage.aspx/GetDataFromServer",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
$("#wrapperDiv").append(msg.d);
$contentLoadTriggered = false;
},
error: function (x, e) {
alert("The call to the server side failed. " + x.responseText);
}
});
}
});
});
[WebMethod]
public static string GetDataFromServer()
{
string resp = string.Empty;
for (int i = 1; i <= 10; i++)
{
resp += "<p><span>" + i + "</span> This content is dynamically appended to the existing content on scrolling.</p>";
}
//if (myConidition)
//ViewState["isReady"] = true;
return resp;
}
が、私は、サーバーからのデータのロードを停止したいです。だから私はのブール変数isReady
を設定し、WebMethodを呼び出すかどうかを判断するためにjQueryのこの変数の値をチェックすることを考えました。残念ながら、WebServicesでViewStateを使用することはできません.jQueryでViewStateにアクセスする方法もわかりません。
ViewStateの代替手段として、WebMethodとjQueryの両方からアクセスできるものは何ですか?
+1; 'string []'を使用してjQueryに渡します。万が一、jQueryからViewStateにアクセスする方法を知っていますか? – user1135357
私は恐れていません、私は知っていませんが、あなたはこのリンクに従うことができますhttp://stackoverflow.com/questions/1050902/getting-values-from-viewstate-using-jquery –
それは良い練習であるかどうかわかりませんが、私は隠されたフィールドを使用しました。ご協力いただきありがとうございます – user1135357