Asp.net MVC - Render a partial View From an Area

前端 未结 3 2008
走了就别回头了
走了就别回头了 2021-01-12 21:34

I\'ve created an area that will handle our some generic things across all our development products, just as log ins, HTML helpers, etc. Inside the area, I have a partial vi

相关标签:
3条回答
  • 2021-01-12 21:56

    The Default ViewEngine looks for the Views inside the same area (or root) folders where the user control is referenced. If you want to create a custom way to use or store views, I suggest you to create a custom ViewEngine. Please take a look at this example: Implement Theme Folders using a Custom ViewEngine

    0 讨论(0)
  • 2021-01-12 21:58

    I haven't actually had to do this, but at a guess I would assume you should use Html.RenderAction() instead, something like Html.RenderAction("action", "controller", new { area = "Area", model = ViewData.Model }).

    model will have to be replaced with the name of the action's parameters, but that should work.

    edit this will require a controller and view setup for each action though.

    0 讨论(0)
  • 2021-01-12 22:09

    An important thing to remember is that when using RenderPartial you use it in the context of the current action.

    As your action isn't in an area it will only look in the View/ folder for the controller the action belongs to then the shared folder.

    Any views you wish to share between areas and controllers and have available at the route should be the root View/Shared folder. Really if the view is callable as a partial like that there is probably little reason for it to belong to an area.

    You can call into area when you want to render actions rather than partials - which then changes the context of the current action to the action you call into thereby allowing you to then return views within that area.

    0 讨论(0)
提交回复
热议问题