2011-08-19 9 views
9

क्या यह पता लगाने का कोई तरीका है कि पृष्ठ लोड होने पर यह एक पोस्टबैक है या केवल पृष्ठ लोड हो रहा है?क्या jQuery या जावास्क्रिप्ट में 'if (! Page.IsPostBack)' जैसी कोई चीज़ है?

+0

के रूप में नेट पोस्टबैक में के रूप में? –

+0

@Russ yes .net। – guanome

+0

यह बहुत कुछ पूछा गया है, यहां स्वीकृत उत्तर जेम्स के सुझावों का एक अच्छा उदाहरण है: http://stackoverflow.com/questions/59719/how-can-i-check-for-ispostback-in-javascript –

उत्तर

16

जावास्क्रिप्ट में पोस्ट बैक की कोई अवधारणा नहीं है। इस क्लाइंट-साइड का पता लगाने का सबसे आसान तरीका होगा [यहां अपनी सर्वर साइड भाषा डालें] पोस्ट बैक पर जावास्क्रिप्ट चर लिखो/सेट करें।

सी # में, यह इस तरह एक सा दिखेगा:

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

जावास्क्रिप्ट: hiddenfield जो Page_Load पर अपने मूल्य हो जाता है:

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

मैं एक एएसपी का उपयोग करें।

ग्राहक आप एक स्ट्रिंग jQuery का उपयोग कर के रूप में मूल्य प्राप्त कर सकते हैं पर, की तुलना में यह करने के लिए 'सही' एक बूलियन हो जाती है।

HTML:

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

VB.NET (Page_Load में):

Me.hdnIsPostback.Value = Me.IsPostBack 

जावास्क्रिप्ट:

var isPostback = $("#<%=hdnIsPostback.ClientID%>").val().toLowerCase() === "true"; 
संबंधित मुद्दे