Я хочу иметь "динамическую" таблицу 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;}
}
сначала, как ни странно, я не могу написать что-то подобное в директивах ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl>" %>
тогда вторая проблема - я не могу использовать расширение функции DisplayFor, потому что компилятор не может определить общий параметр HtmlHelper <>, потому что модель ascx является динамической. Вот почему я должен был заменить:
<%= Html.DisplayFor(m => element) %>
с:
<% RenderPartialExtensions.RenderPartial(Html, "Table", element); %>
Итак, мои вопросы: я делаю что-то не так или нет, в чем разница между DisplayFor и RenderPartial с точки зрения производительности?
Заранее спасибо.