2012-04-12 17 views
5

क्या किसी अन्य पृष्ठ पर जावास्क्रिप्ट से [WebMethod] के साथ जिम्मेदार विधि को कॉल करना संभव है? अर्थात। एक पेज PageTwo.aspx कहा जाता है पर स्क्रिप्ट से निम्नलिखित jQuery ajax कॉल का उपयोग:किसी पृष्ठ पर वेब पेज को किसी अन्य पृष्ठ पर जावास्क्रिप्ट से कॉल करना

$.ajax(
     { 
      type: "POST", 
      url: "pageone.aspx/PageOneMethodOne", 
      data: "{}", 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      success: function(msg) 
        { 
         //something 
        } 
     } 
    ); 

[WebMethod] 
    public string PageOneMethodOne() 
    { 
     return "hello world"; 
    } 
+0

मुझे लगता है कि जब तक आप इसे सही यूआरएल निर्दिष्ट कर सकते हैं तब तक –

उत्तर

8

यह संभव है युक्त है, जब तक आप सही URL निर्दिष्ट के रूप में PageOne.aspx.cs।

<form id="form1" runat="server"> 
<div> 
    <div id="messages"> 
    </div> 
    <input type="text" id="echo" /><input id="echoSubmit" value="Echo!" type="button"/> 
</div> 

और यह जावास्क्रिप्ट इसी है: निम्न प्रपत्र की जाँच करें

<script type="text/javascript"> 
    $(function() { 
     $('#echoSubmit').click(function() { 
      var mes = $('#echo').val(); 
      var jsonText = JSON.stringify({ message: mes }); 

      $.ajax({ 
       type: "POST", 
       url: "SampleForm.aspx/SendMessage", 
       data: jsonText, 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (msg) { 
        $("#messages").append(msg.d); 
       } 
      }); 
     }); 
    }); 
</script> 

echoSumbit बटन पर क्लिक करने एक और नियंत्रण, SampleForm.aspx पर कोई WebMethod के लिए इनपुट बॉक्स की सामग्री भेज देंगे। यहाँ उस रूप का कोड-पीछे है:

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

Chat.aspx में क्लिक हैंडलर SampleForm.aspx.cs, जो भेजा मान देता है के लिए इनपुट मूल्य भेजता है। लौटाया गया मूल्य .ajax कॉल की सफलता विधि में Chat.aspx में एक div में जोड़ा गया है।

+0

धन्यवाद @ एनजेबर्ट, क्या आप मुझे बता सकते हैं, क्या पृष्ठ पर विधि स्थिर होनी चाहिए? – hofnarwillie

+1

आप गैर-स्थैतिक विधि को कॉल करने के लिए कोड-बैक के बजाय .asmx का उपयोग कर सकते हैं - http://stackoverflow.com/questions/1360253/call-non-static-method-in-server-sideaspx-cs-from -client साइड उपयोग-जावास्क्रिप्ट – njebert

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

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