2011-03-16 7 views
6

साथ ajax उपयोग करने के लिए कोई तरीका पृष्ठों जीवन चक्र के माध्यम से चलाने के लिए बिना ajax मैं इस के लिए सर्वर का उपयोग कर रहा हूँ) asp.net webforms साथ उपयोग करने के लिए है?कैसे asp.net webforms

+0

कारण है कि आप ऐसा करना चाहते हैं जाएगा:

PageName.aspx में एक स्थिर [WebMethod] सजाया विधि है कि MethodName कहा जाता है को देखते हुए, यह आप इसे कैसे क्लाइंट-साइड पर कह सकते हैं का एक उदाहरण है? – BentOnCoding

+1

क्योंकि पृष्ठ जीवन चक्र के माध्यम से जाना व्यर्थ है जब आपको केवल कुछ डेटा पुनर्प्राप्त किया जाता है या AJAX के माध्यम से किया जाता है। –

उत्तर

7

यदि आप jQuery का उपयोग कर रहे हैं, जैसा कि आपने बताया है, तो आप माइक्रोसॉफ्टएजेक्स.जेएस के ओवरहेड के बिना use jQuery to call Page Methods directly और सेवा प्रॉक्सी को PageMethods.MethodName() वाक्यविन्यास सक्षम करने के लिए उत्पन्न कर सकते हैं।

$.ajax({ 
    type: "POST", 
    url: "PageName.aspx/MethodName", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
    // Do something interesting with msg.d here. 
    } 
}); 
1

निश्चित रूप से एक तरीका है। this answer देखें। वह विशेष उदाहरण बैक एंड पर एमवीसी का उपयोग करता है, लेकिन आप इसे मूल एएसपी.नेट के साथ भी कर सकते हैं - बस PageMethods/WebMethods via AJAX पर कॉल करने के लिए देखें।

कुंजी में से एक उस पर WebMethod विशेषता के साथ एक स्थिर प्रणाली की घोषणा की जाती है।

+1

आप अपडेटपैनल्स पर भी विचार कर सकते हैं, लेकिन वहां की कमी यह है कि अंत उपयोगकर्ता को लगता है कि पृष्ठ के केवल एक हिस्से को ताज़ा करना है, फिर भी आप पूरे व्यूस्टेट को वापस पोस्ट कर रहे हैं और पूर्ण पृष्ठ जीवन चक्र के माध्यम से जा रहे हैं सर्वर। छी। – Kon

+0

या HttpHandler ... –

+0

क्या मुझे इस तरह से ऐसा करने पर स्क्रिप्ट प्रबंधक की आवश्यकता है? – chobo

7

तुम क्या करने की कोशिश कर रहे क्या इसके आधार पर आप वेब के तरीके या HTTP हैंडलर इस्तेमाल कर सकते हैं। वेब विधियां थोड़ा आसान हो सकती हैं, और केवल सर्वर पक्ष स्थिर कार्य हैं जो [WebMethod] विशेषता से सजाए गए हैं।

सी #:

[WebMethod] 
public static string SayHello(string name) 
{ 
    return "Hello " + name; 
} 

ASPX:

यहाँ एक उदाहरण है

<asp:ScriptManager ID="sm" EnablePageMethods="true" runat="server"/> 

<script type="text/javascript"> 
    #(function() 
    { 
     $(".hellobutton").click(function() 
     { 
      PageMethods.SayHello("Name", function(result) 
      { 
       alert(result); 
      }); 
     }); 
    } 
</script> 

<input type="button" class="hellobutton" value="Say Hello" /> 
+0

कोड पोस्टबैक ईवेंट के बाद काम नहीं कर रहा है !! – Vijayaraghavan

1

आप पृष्ठ के तरीके का उपयोग कर सकते के रूप में वे कहते हैं।

वे अनिवार्य रूप से एक Page पर तरीके हैं, लेकिन स्थिर के रूप में घोषित कर रहे हैं।

public class MyPage : System.Web.UI.Page 
{ 
    [WebMethod] 
    public static string Reverse(string message) { 
     return message.Reverse(); 
    } 
} 

वे तो ग्राहक पटकथा से इस तरह इस्तेमाल किया जा सकता:

function reverseMyString(message) { 
    // Magically generated code appears 
    PageMethods.SendForm(message, OnSucceeded, OnFailed); 
} 

function OnSucceeded(result) { alert(result) } 
function OnFailed(error) { alert(error.get_message()) } 

वे ASMX वेब सेवाओं की तुलना में, क्योंकि वे है कि एक विशेष पेज बनाता है उसी वेब प्रपत्र कार्यक्षमता के भीतर रह सकते हैं बहुत साफ कर रहे हैं ।

संबंधित मुद्दे