2010-10-26 9 views
10

मैं DDay.iCal, का उपयोग कर जब मैं लिंक पर क्लिक करें मैं एक घटना का उत्पादन और उसके बाद ग्राहक को यह भेजता है "कैलेंडर में जोड़ें" एक बुनियादी कैलेंडर इवेंट का निर्माण किया है।iCalendar घटना, जबकि अभी भी अपने कोड उनका प्रदर्शन जारी रहेगा

असल में, मेरा एप्लिकेशन इस तरह काम करता है।

  1. किसी उपयोगकर्ता के लॉग।
  2. एक विशिष्ट तिथि को चुनता है।
  3. पुस्तकें एक विशिष्ट समयावधि
  4. क्लिक "कैलेंडर में जोड़ें" लिंक

घटना भेजा जा रहा है Response.Write() का उपयोग करके किया जाता है जो ग्राहक के लिए निम्न भेजता है:

Response.ContentType = "text/calendar"; 
Response.AddHeader("Content-disposition", "attachment; filename=appointment.ics"); 
Response.Write(iCalString); 

ऊपर काम करता है पंख लेकिन मुझे मैन्युअल रूप से ईवेंट को मैन्युअल रूप से बुक करने की आवश्यकता होती है और फिर "कैलेंडर में जोड़ें" लिंक पर क्लिक करें।

मैं चरण 3 और 4 लेकिन जब ऐसा करने के लिए कोशिश कर रहा है ताकि घटना बुकिंग डेटाबेस से सहेजा जाता है, लेकिन स्क्रीन ताज़ा हो नहीं है मर्ज करना चाहते हैं।

क्या इसके आसपास जाने का एक "सरल" तरीका है?

उत्तर

1

आप जबाब पोस्ट करने के लिए एक सरल HttpHandler सेट करने की आवश्यकता है और फिर एक Response.Redirect() में है।

मैं एक वेबसाइट के एक हमारे लोगों अनुभाग में vCard प्रारूप को एकीकृत के साथ पहले भी ऐसी ही काम किया है। इन लेखों को आपको HttpHandler सेट अप करने के लिए आवश्यक सबकुछ बता देना चाहिए - बस अपने ical कोड के साथ vcard कोड को प्रतिस्थापित करें।

जब आप iCal हैंडलर यह सिर्फ तुरन्त डाउनलोड बॉक्स पॉप अप होगा में, रीडायरेक्ट कर आप अभ्यस्त एक खाली पृष्ठ पर ले जाया, उपयोगकर्ता एक ही पर छोड़ दिया है पृष्ठ।

1

सुनिश्चित करें कि आप स्पष्ट आपकी प्रतिक्रिया (Response.Clear) iCal प्रतिक्रिया जानकारी भेजने से पहले। अंत में, किसी अन्य सामग्री को उत्सर्जित करने से पहले, अपनी प्रतिक्रिया (Response.End) समाप्त करें। अंत उपयोग दृष्टिकोण से यह परेशानी के बिना HttpHandler का उपयोग करने के समान परिणाम उत्पन्न करेगा।