3

我有一个寻呼机如下:

@using MvcContrib.UI.Pager
@model MvcContrib.Pagination.IPagination

<p/>
  @Html.Pager(Model).First("First").Last("Last").Next("Next").Previous("Previous")
<p/>

而不是显示这个:

显示 1 - 10 的 10841 第一 | 上一页 | 下一个 | 最后的

它显示这个:

<div class='pagination'><span class='paginationLeft'>Showing 1 - 10 of 10841 </span><span class='paginationRight'>First | Previous | <a href="/Home/Events?page=2">Next</a> | <a href="/Home/Events?page=1085">Last</a></span></div>

我还从codeproject下载了一个示例项目,但是当我运行它时,我遇到了同样的问题。

可能是什么问题?你们能帮帮我吗?

4

2 回答 2

3

它在示例项目而不是您的项目中工作的原因是因为在示例项目中他们在部分页面中使用该@Html.Pager部分页面,然后@{Html.RenderPartial();}在渲染时在主页上调用该页面,就像渲染的字符串Pager输出为 html 而不是比编码的html。

如果您需要使用不带子页面的寻呼机,那么您需要Html.Raw按照 Linkgoron 的建议将调用包装起来,Html.Pager默认使用ToString返回 astring而不是IHtmlString

于 2011-04-05T19:56:03.263 回答
3

如果您返回字符串,Razor 会自动对 html 进行编码。如果您返回 IHtmlString,它将不会对 Html 进行编码。

寻呼机方法是否返回字符串而不是 IHtmlString?

尝试使用 Html.Raw。此方法会将 String 转换为 IHtmlString。

@Html.Raw(Html.Pager(Model).First("First").Last("Last").Next("Next").Previous("Previous"))
于 2011-04-05T19:24:22.547 回答