ASP.NET MVC 2.0 - Разница между RenderPartial и RenderAction

Я пытаюсь понять разницу между RenderPartial и RenderAction. Я предполагаю, что RenderPartial похож на UserControl, а RenderAction - на стороне сервера. Может кто-то поставить это в перспективе, пожалуйста, и, если возможно, дайте мне пару сценариев того, где будут использоваться каждый?

Ответ 1

Вы видели это сообщение в блоге?

Резюме:

  • RenderPartial: вы несете ответственность за предоставление модели, выполнение логики и т.д.
  • RenderAction: вы отвечаете за вызов действия, этот контроллер отвечает за предоставление модели, выполнение логики и т.д.

Кроме того, RenderPartial будет отображать определенный вид, RenderAction может отобразить любой вид, который он хочет, и до контроллера. Например: действие, отображающее представление с регистрационной информацией, может возвращать один вид, когда вы являетесь гостем (не аутентифицирован), один вид, когда вы аутентифицированы как обычный пользователь, и один вид, когда вы являетесь администратором. Вы, как вызывающий RenderAction, не должны заботиться вообще, вы просто называете свое действие

Ответ 2

RenderPartial задает частичный вид и передает ему модель.

RenderAction определяет контроллер и действие, любые данные модели собираются контроллером.

Это довольно хорошее объяснение