2010-11-30 11 views
9

में पेजमाइड्स मेरा पेजमाइज़ कार्यान्वयन क्रोम ब्राउज़र में काम नहीं कर रहा है। मैं ASP.NET 3.5 वेब अनुप्रयोग क्रोम या सफारी में काम नहीं कर रहा नीचे कोड वी.एस. 2008एएसपीनेट

में विकसित किया है:

function FetchDataOnTabChange(ucName) 
{ 
    PageMethods.FetchData(ucName, OnSuccessFetchDataOnTabChange, OnErrorFetchDataOnTabChange); 
} 

function OnErrorFetchDataOnTabChange(error) 
{ 
    //Do something 
} 

function OnSuccessFetchDataOnTabChange(result) 
{ 
    //Do something 
} 
+0

हां यह आईई 7 और ऊपर में बेहतर काम करता है, मोज़िला ठीक से, लेकिन क्रोम और सफारी में विफल रहता है। और मैं अंतिम प्रश्न पर टिप्पणी नहीं करना चाहता हूं। – Chetan

+0

यदि आप उत्तर चाहते हैं तो आपको कुछ कोड पोस्ट करना होगा –

+0

क्या आप जावास्क्रिप्ट में उपयोग किए गए कोड भी प्रदान कर सकते हैं? क्रोम में जावास्क्रिप्ट को डीबग करने के लिए एक डेवलपर टूल भी है। __ctrl + shift + j__ – XIII

उत्तर

23

देर प्रतिक्रिया के लिए क्षमा करें, लेकिन किसी भी एक बाद में इस पर ठोकर अगर, यह नीचे दिए गए चरणों का पालन करके सभी ब्राउज़रों में काम करना चाहिए।

  • पेज विधि System.Web.Services.WebMethod विशेषता होनी चाहिए। [WebMethod]
  • पृष्ठ विधि सार्वजनिक होनी चाहिए। [वेबमाउथ] सार्वजनिक ...
  • पृष्ठ विधि स्थैतिक होना चाहिए। [वेबमाउथ] सार्वजनिक स्थैतिक ...
  • पेज विधि को पृष्ठ पर परिभाषित किया जाना चाहिए (या तो इनलाइन या कोड-पीछे)। इसे को किसी नियंत्रण, मास्टर पेज या आधार पृष्ठ में परिभाषित नहीं किया जा सकता है।
  • एएसपी.NET AJAX स्क्रिप्ट प्रबंधक को को सक्षमपृष्ठ सक्षम करने के लिए सही सेट करना होगा।

यह एक काम कर आवेदन से है

aspx पेज:

/* the script manager could also be in a master page with no issues */ 
<asp:ScriptManager ID="smMain" runat="server" EnablePageMethods="true" /> 
<script type="text/javascript"> 
    function GetDetails(Id) { 
     PageMethods.GetDetails(doorId); 
    } 
</script> 

पीछे कोड:

[System.Web.Services.WebMethod] 
public static void GetDetails(string Id) 
{ 

} 

गुड लक! :-)

+0

मुझे यह समझ में नहीं आता: "पृष्ठ विधि को मूल पृष्ठ में परिभाषित नहीं किया जा सकता है"। क्या आप समझा सकते हैं क्यों? क्योंकि मुझे तब हैंडलर का उपयोग करना होगा। दुर्भाग्यवश, – donRumatta

+0

दुर्भाग्यवश, मुझे तकनीकी कारण "क्यों नहीं" पता है, लेकिन जवाब इसलिए है क्योंकि मास्टरपेज System.Web.UI.Page से प्राप्त नहीं होता है इसलिए आप तकनीकी रूप से पृष्ठ नहीं बल्कि वास्तव में एक सिस्टम.Web से PageMethods को कॉल नहीं कर सकते हैं। .UI.MasterPage। – hardba11

+1

कहना है कि मुझे लगता है कि यह उत्तर पुराना है। मेरा प्रश्न यहां देखें: http://stackoverflow.com/questions/20554780/inconsistent-pagemethod- व्यवहार-in- अलग-browsers। मिश्रित परिणामों के साथ, अपने सभी चरणों का पालन किया। – LittleBobbyTables