मेरा एप्लिकेशन एमवीसी 3, .NET का उपयोग करके लागू किया गया है। मैं एक बटन के क्लिक पर एक एक्सेल फ़ाइल उत्पन्न करने की कोशिश कर रहा हूं। नियंत्रक कार्रवाई के लिए कॉल अजाक्स का उपयोग करके किया जाता है। मेरी मुख्य समस्या यह है: फ़ाइल पीढ़ी के दौरान मैं स्क्रीन पर एक छवि प्रदर्शित करने की कोशिश कर रहा हूं ताकि उपयोगकर्ता को इंजिनिंग ऑपरेशन के बारे में जानकारी मिल सके। मैं छवि को बहुत अच्छी तरह प्रदर्शित कर सकता हूं लेकिन ऑपरेशन पूरा होने के बाद मैं इसे छुपा नहीं सकता। codei का उपयोग कर रहा है:नियंत्रक कार्रवाई पूर्ण होने के बाद जावास्क्रिप्ट का उपयोग कर छवि छिपाएं MVC3
Javascript कोड:
$("input.DownloadExcelReport").click(function (e) {
e.preventDefault();
var parameter = -- code to fetch parameter value;
var outputViewUrl = (the url is created here);
showLoading(); -- This function displays the image
window.location.href = outputViewUrl;
});
नियंत्रक कार्रवाई कोड:
public ActionResult DownExcelReportForAssortment(Guid parameter)
{
try
{
//the contents for the file generation are fetched here..
// Write contents to excel file
if (memoryStream != null)
{
var documentName = "Report.xls";
byte[] byteArrary = memoryStream.ToArray();
return File(byteArrary, "application/vnd.ms-excel", documentName);
}
}
catch (Exception ex)
{
LogManager.LogException(ex);
}
}
मैं बुला जावास्क्रिप्ट विधि मैं कहाँ करने के लिए कोड लिख सकते हैं करने के लिए एक Json परिणाम नहीं लौटते छवि छुपाएं। मैं एक फाइल लौटा रहा हूं जिसे उपयोगकर्ता द्वारा सहेजा जा सकता है और कार्रवाई पूरी हो गई है।
क्या कोई कृपया कृपया मुझे मदद कर सकता है/फाइल जनरेशन ऑपरेशन पूरा होने के बाद मैं छवि को कैसे छुपा सकता हूं?
मदद की सराहना ...
कुकी मुद्दों से बचने के लिए, मैं इसे एक सत्र चर का उपयोग करके संभालना पसंद करता हूं। तो आप अपनी क्रिया में लंबे समय तक चलने वाले कोड के बाद सत्र वैरिएबल सेट करते हैं और आप अपने जेएस में एक समान मतदान स्क्रिप्ट का उपयोग करते हैं जो AJAX अनुरोधों को दूसरी क्रिया में भेजता है जो यह देखने के लिए जांचता है कि सत्र मौजूद है या नहीं। यदि ऐसा होता है, तो आप सत्र को मार देते हैं और जेएस कॉलबैक के लिए 'सत्य' प्रतिक्रिया वापस कर देते हैं और अपना लोडर बंद कर देते हैं। –