Проблема с просмотром бритвы и разбиением на страницы сетки mvccontrib

У меня есть следующий частичный код просмотра

@model IEnumerable<PDoc.Web.Models.UserDocModel>
@using MvcContrib.UI.Grid;
@using MvcContrib.UI.Pager;
@using MvcContrib.Pagination;

<div id="docList">
@Html.Grid(Model).Columns( column => {
    column.For( u => u.Description ).Named( "Description" );
    column.For( u => u.FileName ).Named( "File name" );
    column.For( u => u.FileSize ).Named( "Size" );
    column.For( u => u.UploadDate.ToShortDateString() ).Named( "Upload Date" );
    } ).Attributes( @class => "table-list" ).Empty( "No documents uploaded" )

    <div style="position:absolute; bottom: 3px; width: 95%;">
        @Html.Pager( (IPagination)Model )..First( "First" ).Next( "Next" ).Previous( "Previous" ).Last( "Last" ).Format( "{0}-{1} di {2}" )
    </div>
</div>

Это отображает закодированный html для разбиения на страницы, как в следующем фрагменте, скопированном с помощью Chrome Developer Tool.

<div id="myDocs">
  <div id="docList">
     <table class="table-list">...</table>
     <div style="position:absolute; bottom: 3px; width: 95%;">
        &lt;div class='pagination'&gt;&lt;span class='paginationLeft'&gt;1-1 di 1&lt;/span&gt;&lt;/div&gt;
    </div>
</div>

Почему?

Также с Chrome DT я вижу две двойные кавычки, окружающие закодированную разметку. Это только способ показать что-то закодированное?

альтернативный текст


person Lorenzo    schedule 29.12.2010    source источник


Ответы (1)


Я думаю, что это становится двойным кодированием. Если вы поместите материал Html.Pager внутрь метода Html.Raw(), он должен работать.

person mdm20    schedule 30.12.2010
comment
Razor автоматически все кодирует. Встроенные методы Html теперь возвращают MvcHtmlStrings, учитывающие это. Используемый вами метод Html.Pager, вероятно, возвращает простую строку, которую кодирует Razor. - person mdm20; 30.12.2010
comment
@Html.Raw(Html.Pager(Модель).Первый(Первый).Следующий(Следующий).Предыдущий(Предыдущий).Последний(Последний).Формат({0}-{1} di {2}).ToString() ) будет синтаксисом для ссылки. - person Bryan Corazza; 28.01.2011
comment
Похоже, что версия библиотеки Contrib MVC 3 - 3.0.51.0 не нуждается в этом решении, просто используйте @Html.Pager(). - person Bryan Corazza; 30.01.2011