2012-12-31 3 views
0

Je suis nouveau à Asp.Net Mvc. Ceci est ma hiérarchie de solutionHtml.RenderAction de répertoire différent

PROJECT 
    --Area 
     -- Account 
      --Controllers 
      --Models 
      --Views 
       -- Edit.cshtml 
    -- Contollers (this has an action method "SomeAction") 
    --Models 
    -- Views 
     --Shared 
      --Partial.cshtml 

En fait, je veux rendre Parial.cshtml en vue Edit.cshtml. J'ai donc essayé

@{Html.RenderAction("ControllerName", "SomeAction");} 

Mais j'ai eu l'erreur suivante.

Le contrôleur pour le chemin '/ Account/Edit' n'a pas été trouvé ou n'implémente pas IController.

Vous ne savez pas ce qui me manque?

Si je supprime @ {Html.RenderAction ("ControllerName", "SomeAction");} à partir de ma vue. Il fonctionne très bien

Répondre

3

Vous devez passer le nom de zone à RenderAction méthode:

@{Html.RenderAction("ControllerName", "SomeAction", new{area=""});} 
+0

Ma méthode d'action est de ne pas avoir aucun paramètre. Alors pourquoi devrais-je passer zone comme valeurs de route? – sanjeev

+0

La zone de paramètre n'est pas transmise à votre méthode d'action. Il définit la zone où votre contrôleur devrait être. –

+0

Ok compris. Mais l'action n'est pas dans la zone. Son dans le dossier "Controller" racine et j'essaye de rendre cette action à partir de View (Edit.cshtml) qui est dans Area. – sanjeev

Questions connexes