2012-08-14 9 views
6

किया जाता है यहाँ मेरी समस्या है: प्रपत्र viwemodel भरने सर्वर को भेजता हैदेखें RedirectToAction के बाद ताज़ा नहीं है

[HttpPost] 
public ActionResult AddData(CandidateViewModel viewModel) 
{ 
    var newCandidateId = 0; 
    newCandidateId = this._serviceClient.AddCandidate(viewModel); 
    return RedirectToAction("DisplayCandidate",new {id=newCandidateId}); 
} 

public ActionResult DisplayCandidate(int id) 
{ 
    var candidateViewModel= this._serviceClient.GetCandidate(id); 
    return View(candidateViewModel); 
} 

के बाद। डेटा संग्रहीत करने के बाद, प्रवाह को डिस्प्ले कैंडीडेट कार्रवाई पर रीडायरेक्ट किया जाता है और यह वहां जाता है लेकिन पेज रीफ्रेश नहीं होता है। मुझे समझ में नहीं आता क्यों! कृपया मदद करें।

+1

क्या आप AJAX के माध्यम से पोस्ट कर रहे हैं? अपने क्लाइंट-साइड कोड दिखाएं। – RedFilter

+0

हां। AJAX: अगर (DataIsValid()) { $ .ajax ({ यूआरएल: "/ उम्मीदवार/AddData", contentType: "application/json; charset = utf-8", डेटा: ko.toJSON (addCandidateCommonInfoViewModel) , टाइप: "पोस्ट", डेटा टाइप: 'जेसन' }); } – Vengrovskyi

उत्तर

7

क्योंकि आप अजाक्स पोस्ट

public ActionResult AddData(CandidateViewModel viewModel) 
{ 
    var newCandidateId = 0; 
    newCandidateId = this._serviceClient.AddCandidate(viewModel); 
    string ReturnURL = "/DisplayCandidate/"+newCandidateId; 
    return JSON(ReturnURL); 
} 

और अपने अजाक्स पोस्ट विधि में उपयोग कर रहे हैं:

Onsuccess(function(retURL){ window.location(retURL); }) 

इस नए कार्रवाई करने के लिए ले जाएगा और कहा कि कार्रवाई दृश्य वापस आ जाएगी।

+2

क्षमा करें, लेकिन यह काम नहीं कर रहा है। हो सकता है, आप कुछ याद करते हैं? – Vengrovskyi

+0

प्राप्त करने के लिए अपने नियंत्रक AddData विधि को बदलें। – HaBo

+3

'location.replace (retURL)' ' के साथ 'windows.location (retURL)' को प्रतिस्थापित करें मैन्युअल यूआरएल संरचना का उपयोग कभी भी नहीं करें, हमें 'Url.Action ("DisplayCandidate", new {id = newCandidateId}) ' – Saito

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