View() vs. PartialView()

前端 未结 3 498
心在旅途
心在旅途 2020-12-05 13:06

The View() method can load Partial Views.

Is the difference between View() and PartialView() is that View() can

相关标签:
3条回答
  • 2020-12-05 13:38

    I think the biggest difference is about the use of the _Layout page:

    • PartialView(): the razor engine will get the view (e.g. index.cshtml) without any layout page (_layout.cshtml).
    • View(): the engine will get your view (e.g. index.cshtml) and then appends the content of this view inside the layout page (_layout.cshtml)
    0 讨论(0)
  • 2020-12-05 13:42

    It's up to a view engine to decide if they want to treat partial views different from regular views.

    For example, in the WebFormViewEngine there is no difference.

    In the new ASP.NET MVC 3 RazorViewEngine there are some differences. Only regular views will have the "_viewstart.cshtml" pages run because they are meant for things such as setting up layout pages.

    0 讨论(0)
  • 2020-12-05 13:54

    If you have Index.aspx and Index.ascx for the same controller having both methods might help disambiguate. But I agree that in general View is more commonly used. And PartialView can also be used to load full views, it's just that it's semantically wrong.

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