В чем разница между RenderPartialExtensions.RenderPartial и DisplayExtensions.DisplayFor - PullRequest
0 голосов
/ 02 июля 2011

Я хочу иметь "динамическую" таблицу ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>

<% foreach (var element in Model.Elements) { %>
    <%= Html.DisplayFor(m => element) %>
<% } %>

с моделью:

public class TableViewModel<ElementType> {
     public List<ElementType> Elements {get;set;}
}
  1. сначала, как ни странно, я не могу написать что-то подобное в директивах ascx: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %>

  2. тогда вторая проблема - я не могу использовать расширение функции DisplayFor, потому что компилятор не может определить общий параметр HtmlHelper <>, потому что модель ascx является динамической. Вот почему я должен был заменить: <%= Html.DisplayFor(m => element) %> с: <% RenderPartialExtensions.RenderPartial(Html, "Table", element); %>

Итак, мои вопросы: я делаю что-то не так или нет, в чем разница между DisplayFor и RenderPartial с точки зрения производительности?

Заранее спасибо.

1 Ответ

1 голос
/ 03 июля 2011

Может быть, вы могли бы попробовать использовать только Display?

RenderPartial просто отображает частичное представление.DisplayFor использует UIHint или DisplayTemplate из общих представлений для рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...