2009-08-24 19 views
5

में एक एक्शन आउटपुट प्राप्त करें मेरे पास एक एक्शन पेज() है जो एक पृष्ठ (विकी पेज की तरह) प्रस्तुत करता है।एएसपी.नेट एमवीसी: एएसपी.नेट एमवीसी एप्लीकेशन में एक अन्य क्रिया

अब, मेरे पास एक और क्रिया RenderPdf() है जो पृष्ठ() के HTML आउटपुट को एकत्रित करनी चाहिए और उस पृष्ठ के पीडीएफ संस्करण को बनाने के लिए HTML2PDF घटक का उपयोग करना चाहिए।

मैं किसी अन्य क्रिया के भीतर एक क्रिया के HTML आउटपुट को कैसे एकत्र करूं? नोट: दृश्य में नहीं, लेकिन सीधे कार्रवाई कोड में।

उत्तर

0

आप MVC Futures असेंबली का उपयोग कर सकते हैं।

वहाँ एक विधि RenderAction (कहा जाता है) है कि एक कार्रवाई के HTML आउटपुट हो जाता है, लेकिन एक दृश्य के अंदर से है ...

+0

असल में ब्रूनो, रेंडरएक्शन() एक एचटीएमएलहेल्पर है, जिसे एक दृश्य के भीतर उपयोग करने के लिए डिज़ाइन किया गया है। यह mladen को प्रस्तुत आउटपुट को कैप्चर करने की अनुमति नहीं देगा। – apiguy

+0

ओह, हाँ, क्षमा करें। मैं जवाब अनुकूलित कर दूंगा। धन्यवाद –

0

पीडीएफ सिर्फ उत्पादन की एक प्रति है, तो आप जावास्क्रिप्ट का उपयोग नहीं कर सकते कब्जा करने के लिए छवि और वापस पीडीएफ प्रस्तुत करने के लिए पास?

या, पहली क्रिया के उसी मॉडल के भीतर पीडीएफ संस्करण को देखने के लिए पास करें। इसे तब तक छुपाएं जब तक कि उपयोगकर्ता को इसकी आवश्यकता न हो?

+0

zsharp, यह वह कामकाज है जिसे मैं करने की योजना बना रहा था, लेकिन मैं इससे खुश नहीं हूं। मेरे पास ऐसे मामले होंगे जहां पीडीएफ 100 पृष्ठों की तरह होगा। मुझे जावास्क्रिप्ट के साथ आगे और उस बड़े HTML को गुजरना पसंद नहीं है। – mladen

+0

एक और तरीका एक्शन कोड में पीडीएफ बनाने और दृश्य को प्रस्तुत करने से पहले सर्वर पर फ़ाइल में सहेजने के लिए हो सकता है। फ़ाइल नाम में आईडी से मेल खाने के लिए देखने के लिए भेजा गया अद्वितीय आईडी वाला पीडीएफ एक्सेस करें। – zsharp

+0

zsharp, समस्या यह है - पीडीएफ बनाने के लिए मुझे पहले HTML की आवश्यकता है, क्योंकि मैं HTML2PDF घटक का उपयोग कर रहा हूं – mladen

0

आप एक ऐसी ही सवाल को यह awnser की जाँच कर सकते हैं:

Send ASP.NET MVC action result inside email

जाहिर है आप अपने html2pdf पीडीएफ पीढ़ी के साथ SendEmailKThx() कॉल को बदलने के लिए की आवश्यकता होगी।

0

विधि जनवरी विलेम बी ने सुझाव दिया काम करता है और GetActionOutput बुला, बस नियंत्रक के नाम का उपयोग करते समय मैं एएसपी नेट MVC 1.

पर इस परीक्षण किया गया। उदाहरण के लिए यदि चालक नियंत्रक नाम खाता नियंत्रक है, तो इसे केवल खाता के रूप में संबोधित करें।

उदा। अगर आप खाता नियंत्रक पर टेस्ट विधि कॉल करना चाहते हैं, तो वाक्यविन्यास होगा ... GetActionOutput ("खाता", "परीक्षण");

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