2014-04-28 2 views
8

I hava un nome di vista "Messaggio" nella cartella Lavori di Views. E voglio tornare quella vista formano un'azione di controller diverso, chiamato "MarketController"Chiamata Visualizzazione di una cartella diversa dal controller mv4 Asp.net

public class MarketController : Controller 
    { 

     [HttpPost] 
     public ActionResult Save() 
     { 
      // logic to save the record 
      TempData["message"] = "Save successfully"; 
      return View("Message"); 
     } 
    } 

Il problema è che il "messaggio" vista non è in vista del mercato, come posso tornare quella vista da MarketController .
(non mi vuole usare il metodo RedirectToAction qui.)

+0

Perché non si desidera utilizzare RedirectToaction? –

+0

@Paul, voglio solo evitare di aggiungere un ulteriore metodo di azione in JobController. – Ishtiaq

+1

@Ish di interesse se la vista è utilizzata in più controller perché non metterla nella cartella condivisa. Quindi non dovrai usare percorsi assoluti. – Steve

risposta

26

Basta usare un percorso relativo in base alla cartella Views

return View("~/Views/Jobs/Message.cshtml"); 
3

È necessario compilare l'indirizzo completo per la visualizzazione del messaggio ("~/Views/Jobs/Message.cshtml "):

[HttpPost] 
public ActionResult Save() 
{ 
    TempData["message"] = "Save successfully"; 
    return View("~/Views/Jobs/Message.cshtml"); 
}