2011-08-19 19 views
9

ページが読み込まれたときにポストバックかページが読み込まれたかどうかを検出する方法はありますか?jQueryやjavascriptに「if(!Page.IsPostBack)」というようなものがありますか?

+0

? –

+0

@Russ yes .net。 – guanome

+0

これはたくさん聞かれました。ここで受け入れられる答えは、Jamesが示唆しているものの良い例です:http://stackoverflow.com/questions/59719/how-can-i-check-for-ispostback-in-javascript –

答えて

16

JavaScriptにはポストバックの概念はありません。このクライアント側を検出する最も簡単な方法は、[ここにサーバー側言語を挿入]ポストバック時にJavasScript変数を書き込み/設定することです。

は、C#で、それは少し次のようになります。

ClientScript.RegisterClientScriptBlock(GetType(), 
     "isPostBack", 
     String.Format("var isPostback = {0};", IsPostBack.ToString().ToLower()), 
     true); 

JavaScriptを:のHiddenFieldをPage_Loadにその値を取得します。

if(isPostback) { 
    // Postback specific logic here 
} 
1

を私はASPを使用しています。

クライアントでは、jQueryを使用して値を文字列として取得し、それを 'true'と比較するとブール値になります。

HTML:(をPage_Loadで)

<asp:HiddenField runat="server" ID="hdnIsPostback" /> 

VB.NET:

Me.hdnIsPostback.Value = Me.IsPostBack 

Javascriptを:.NETポストバックなどのように

var isPostback = $("#<%=hdnIsPostback.ClientID%>").val().toLowerCase() === "true"; 
関連する問題