का उपयोग करते हुए कुछ दिनों के लिए answer of Atanas Korchev, मुझे पता चला कि मैं JavaScript त्रुटियों के लिए इसी तरह मिलता है:
"सर्वर से प्राप्त संदेश पार्स नहीं किया जा सकता है"
एएसपी.NET अजाक्स UpdatePanel
control के संयोजन के साथ इसका उपयोग करते समय। The reason is described in this blog post।
मूल रूप से UpdatePanel
प्रस्तुत की गई स्ट्रिंग की सटीक लंबाई के बारे में महत्वपूर्ण लगता है। अर्थात। यदि आप स्ट्रिंग को बदलते हैं और लंबाई रखते हैं, तो यह सफल होता है, यदि आप टेक्स्ट बदलते हैं तो स्ट्रिंग की लंबाई बदलती है, उपर्युक्त जावास्क्रिप्ट त्रुटि होती है।
मेरे नहीं सही, लेकिन काम समाधान UpdatePanel
हमेशा एक पोस्ट करता है मान लेते हैं और कि दूर फिल्टर करने के लिए किया गया था:
protected override void Render(HtmlTextWriter writer)
{
if (IsPostBack || IsCallback)
{
base.Render(writer);
}
else
{
using (var output = new StringWriter())
{
base.Render(new HtmlTextWriter(output));
var outputAsString = output.ToString();
outputAsString = doSomeManipulation(outputAsString);
writer.Write(outputAsString);
}
}
}
यह मेरी स्थिति में काम करता है लेकिन कुछ कमियां है कि अपने परिदृश्य के लिए काम नहीं कर सकता है :
- पोस्टबैक पर, कोई स्ट्रिंग नहीं बदली जाती है।
- उपयोगकर्ता जिस स्ट्रिंग को देखता है वह अनियमित एक
UpdatePanel
गैर-पोस्टबैक के लिए भी आग लग सकता है।
फिर भी, मुझे आशा है कि इससे अन्य लोगों की मदद मिलती है जो समान समस्या का पता लगाते हैं। इसके अलावा, see this article discussing UpdatePanel
and Page.Render
in more details।
स्रोत
2013-07-14 13:15:03
दोस्त, हर किसी को मत छोड़ो जो आपको बिल्कुल नहीं बताता कि आप उनकी प्रतिक्रिया में क्या सुनना चाहते हैं। अधिक लोगों को आपकी मदद करने के लिए प्रोत्साहित करने का यह एक अच्छा तरीका नहीं है। मुझे नहीं लगता कि मैंने कभी भी एक ही प्रश्न में इतने सारे लोगों को गिरा दिया है। –
वह ऐसा नहीं हो सकता है जिसने किया ... शायद वह हो सकता है, लेकिन कौन जानता है? –
नहीं मैंने इसे नहीं किया है –