2014-10-14 13 views
13

Ho un metodo SendMail nel controller MVC. Questo metodo chiama l'altro metodo ValidateLogin. Questa è la firma del Convalida accesso:Come restituire ActionResult con Visualizzazione specifica (non il nome del controller)

private ActionResult ValidateLogin(Models.ResetPassword model) 

Quando chiamo il ValidateLogin da SendMail, questa eccezione viene visualizzata perché il controller tenta di cercare una vista SendMail, ma voglio caricare il ResetPassword Vista:

Global Error - The view 'SendMail' or its master was not found or no view engine supports the searched locations. The following locations were searched: ... 

Questo è il codice del SendMail:

public ActionResult SendMail(string login) 
{ 
     return ValidateLogin(login); 
} 

Come posso ignorare la vista sulla dichiarazione di ritorno?

Grazie in anticipo

risposta

4

infine, questa era la soluzione

return View("ResetPassword", new ResetPassword 
      { 
       fields= fields 
      }); 
+0

Solo una piccola aggiunta: questo richiederà che "ResetPassword.cshtml" sia individuabile nella directory "~/Views/ /". Dove è uguale al nome della classe controller accessibile; come ad esempio: TestController >> "//Views/Test/ResetPassword, cshtml" sarà accessibile per il caricamento. Non lottare qui, se altrimenti non otterrai alcun contenuto da caricare. ;) – SiL3NC3

7

Il metodo View ha un sovraccarico che ottiene una stringa in un viewName. A volte si desidera passare un string come modello e il framework asp.net lo confonde cercando di trovare una vista con il valore string. Provare qualcosa di simile:

public ActionResult SendMail(string login) 
{ 
    this.Model = login; // set the model 
    return View("ValidateLogin"); // reponse the ValidateLogin view 
} 
0

È possibile tornare vista da un nome come questo

return View("viewnamehere"); 
27
private ActionResult SendMail(string login) 
{ 
      return View("~/Views/SpecificView.cshtml") 
} 

direttamente È possibile puntare verso vista specifc puntando alla loro posizione in modo esplicito ..

Problemi correlati