2008-11-30 22 views
8

मैं वर्तमान में jquery का उपयोग कर एमवीसी में प्रगति पट्टी के साथ एक अपलोड नियंत्रण बनाने की कोशिश कर रहा हूं। मैं एक समस्या में चल रहा है हालांकि उस एमवीसी में समानांतर धागे में काम नहीं करता है?एएसपी.नेट एमवीसी सत्र राज्य

जब मैं एक फ़ाइल अपलोड करता हूं और सर्वर पर कई कॉलबैक के माध्यम से जेएस से अपलोड के दौरान प्रगति दिखाता हूं, तो मैं वर्तमान अपलोड स्थिति के बारे में जानकारी प्राप्त करने की कोशिश कर रहा हूं लेकिन सर्वर से जवाब केवल तभी वापस आता है जब फ़ाइल अपलोड हो जाती है।

क्या आप एमवीसी में सत्र स्थिति प्रश्नों को लगातार प्राप्त करने के लिए या अनुरोध कब किया जाता है?

वास्तव में कुछ मदद की सराहना करेंगे और मुझे यकीन है कि अगर कोई जवाब को जानता है तो दूसरों को होगा !!

उत्तर

4

यदि आप कोई कार्यवाही करते हैं तो आप अपना दृश्य स्थिति खो देंगे। यदि आप चाहें तो TempData का उपयोग करके आप कार्रवाइयों के बीच डेटा पास कर सकते हैं, लेकिन शायद यह आपकी समस्या का समाधान नहीं करेगा। मुझे लगता है कि आप यहां क्या चाहते हैं एक ऐसा क्रिया है जो एक JSON तत्व लौटाएगी जिसे आप कुछ असीमित जावास्क्रिप्ट के साथ कॉल कर सकते हैं।

अपनी कार्रवाई के लिए आप होगा:

public ActionResult GetSuggestions(string searchText) 
{ 
    return Json(new { SearchText = searchText + "completestring"}); 
} 

और फिर अपने फार्म पर आप कुछ अतुल्यकालिक जावास्क्रिप्ट jQuery का उपयोग कर:

function startAutoComplete() { 
    var searchText = $("#inputText").val(); 
    $.getJSON("/Search/GetSuggestions?searchText=" + searchText, null, autoCompleteResponse); 
} 

function autoCompleteResponse(data) { 
    if (data.SearchText) { 
     $("#inputText").val(data.SearchText); 
     $("#inputText").select(); 
    } 
} 

यह आपको बिना अपने सर्वर से कुछ जानकारी प्राप्त करने की अनुमति देगा फॉर्म पोस्ट करना और क्लाइंट के दृष्टिकोण को व्यवहार में रखना।

There is a full write up of the example here जो मदद कर सकता है।

+0

'वापसी जेसन (नया {सर्चटेक्स्ट = सर्चटेक्स्ट + "completestring"}, "टेक्स्ट/जेसन", जेसनआरक्वेटबैवियर.ऑलो गेट); ' – Bellash

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