Asp.net mvc razor视图和mvccontrib网格分页存在问题
我有以下部分视图代码Asp.net mvc razor视图和mvccontrib网格分页存在问题,asp.net-mvc,asp.net-mvc-3,razor,mvccontrib,mvccontrib-grid,Asp.net Mvc,Asp.net Mvc 3,Razor,Mvccontrib,Mvccontrib Grid,我有以下部分视图代码 @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.Descr
@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>
@model IEnumerable
@使用MvcContrib.UI.Grid;
@使用MvcContrib.UI.Pager;
@使用MvcContrib.Pagination;
@Html.Grid(Model).Columns(column=>{
column.For(u=>u.Description).命名为(“Description”);
column.For(u=>u.FileName).Named(“文件名”);
column.For(u=>u.FileSize).Named(“Size”);
column.For(u=>u.UploadDate.ToShortDateString())。命名为(“上载日期”);
}).Attributes(@class=>“表列表”).Empty(“未上载文档”)
@Pager((IPagination)模型)…First(“First”).Next(“Next”).Previous(“Previous”).Last(“Last”).格式(“{0}-{1}di{2}”)
这将为分页呈现编码的html,如使用Chrome Developer工具复制的以下代码段所示
<div id="myDocs">
<div id="docList">
<table class="table-list">...</table>
<div style="position:absolute; bottom: 3px; width: 95%;">
<div class='pagination'><span class='paginationLeft'>1-1 di 1</span></div>
</div>
</div>
...
div class='pagination'span class='paginationLeft'1-1 di 1/span/div
为什么?
同样使用Chrome DT,我可以看到编码标记周围有两个双引号。这是唯一一种显示编码的东西的方法吗
我想这是双重编码。如果将Html.Pager内容放在Html.Raw()方法中,它应该可以工作。Razor会自动对所有内容进行编码。内置的Html方法现在返回解释此问题的MvcHtmlStrings。您正在使用的Html.Pager方法可能返回一个普通字符串,Razor对其进行编码。@Html.Raw(Html.Pager(Model).First(“First”).Next(“Next”).Previous(“Previous”).Last(“Last”).Format(“{0}-{1}-di{2}”).ToString())将是供参考的语法。看起来MVC 3-3.0.51.0版本的Contrib库不需要此解决方案,只需使用@Html.Pager()。