What is the difference between a View and a Partia

2019-01-23 22:38发布

What is the difference between a View and a PartialView in ASP.NET MVC?

At first glance the need for both seems non-obvious to me.

6条回答
唯我独甜
2楼-- · 2019-01-23 23:09

Consider a partialview like a control in webforms, the idea is the partial is reusable

查看更多
霸刀☆藐视天下
3楼-- · 2019-01-23 23:26

In theory, the answer is: A partial view is a "sub-view" that you embed within a main view - something that you might reuse across multiple views, like a sidebar.

In practice, the answer is: Very little.

In theory, partial views are more lightweight than standard views, but it's perfectly OK to pass a "regular" view to RenderPartial and the performance seems to be exactly the same. I frequently use regular .aspx views as "partial" views because you can make them reference a master view in order to provide templated content like what you can do with UserControls in ASP.NET WebForms. See here.

Partial views are more like web parts on a portal - they are completely self-contained objects. Use them if the layout is simple and static, or if you're annoyed by the Intellisense errors when you don't have the <html> and <body> tags in a standard View.

查看更多
干净又极端
4楼-- · 2019-01-23 23:32

It works like that:

  • return View() the view content goes in the @RenderBody() of the /Shared/_Layout.cshtml

  • return PartialView() it returns only the view content

查看更多
甜甜的少女心
5楼-- · 2019-01-23 23:33

Look at StackOverflow.com site: Main site (View) contains components like:

  • Tags
  • Related
  • Ad

So Tags, related, Ad etc. can be composed as PartialViews. The advantage of this is that PartialViews can be simply cached by OutputCache instead of recreating all site: performance gain.

查看更多
一纸荒年 Trace。
6楼-- · 2019-01-23 23:34

Views are the general result of a page that results in a display. It's the highest level container except the masterpage. While a partial view is for a small piece of content that may be reused on different pages, or multiple times in a page.

If you're coming from webforms, view is similar to a web content form, while a partial view is like a user control.

查看更多
我想做一个坏孩纸
7楼-- · 2019-01-23 23:35

If you come from a webforms background, think of PartialView as a usercontrol.

查看更多
登录 后发表回答