का उपयोग कर JSON डेटा स्वीकार करता है मेरे पास एक ऐसी स्थिति है जहां मैं JQuery का उपयोग करके डेटा लोड करने के लिए एएसपी.NET जेनेरिक हैंडलर तक पहुंच रहा हूं। लेकिन चूंकि जावास्क्रिप्ट से लोड किया गया डेटा खोज इंजन क्रॉलर्स को दिखाई नहीं देता है, इसलिए मैंने सी # से डेटा लोड करने का निर्णय लिया और फिर इसे JQuery के लिए कैश किया। मेरे हैंडलर में बहुत तर्क है कि मैं कोड पर दोबारा आवेदन नहीं करना चाहता हूं।एक सामान्य हैंडलर को डेटा भेजें जो सी #
public void ProcessRequest(HttpContext context)
{
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string jsonString = string.Empty;
context.Request.InputStream.Position = 0;
using (var inputStream = new System.IO.StreamReader(context.Request.InputStream))
{
jsonString = inputStream.ReadToEnd();
}
ContentType contentType = jsonSerializer.Deserialize<ContentType>(jsonString);
context.Response.ContentType = "text/plain";
switch (contentType.typeOfContent)
{
case 1: context.Response.Write(getUserControlMarkup("SideContent", context, contentType.UCArgs));
break;
}
}
मैं सी # से समारोह getUserControlMarkup()
कॉल कर सकते हैं, लेकिन मैं जब यह बुला कुछ यूआरएल आधारित शर्तें लागू करना होगा: यहाँ मेरी हैंडलर कोड है। contentType.typeOfContent
वास्तव में यूआरएल पैरामीटर पर आधारित है।
यदि इस हैंडलर को JSON डेटा भेजना संभव है तो कृपया मुझे बताएं कि यह कैसे करें। मैं इस तरह हैंडलर का उपयोग करने की कोशिश कर रहा हूँ:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Common.host + "Handlers/SideContentLoader.ashx?typeOfContent=1&UCArgs=cdata");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
लेकिन अपनी लाइन पर हैंडलर कोड में NullReferenceException
दे रही है: ContentType contentType = jsonSerializer.Deserialize<ContentType>(jsonString);
आपका क्या मतलब के बाद से जावास्क्रिप्ट से लोड डेटा खोज इंजन क्रॉलर्स को दिखाई नहीं देता? क्या आपने कुछ आंशिक पृष्ठ या पृष्ठ से भरा अद्यतन करने का प्रयास किया था? – viyancs
याहू जावास्क्रिप्ट से सामग्री को लोड करने की कोशिश कर रहा हूं और मैं यह भी चाहता हूं कि यह खोज इंजनों के लिए दृश्यमान हो, इसलिए मैं इसे कोड से पीछे भी लोड कर रहा हूं। –
चूंकि आप सर्वर साइड पर इसे सी # से कॉल कर रहे हैं, इसलिए आप एक सामान्य हैंडलर के साथ परेशान क्यों हो रहे हैं? क्यों न सिर्फ एक विधि बुलाओ? – mason