如何使用 MVCContrib 和 Razor 制作寻呼机?

发布于 2024-10-30 21:22:21 字数 822 浏览 1 评论 0原文

我有一个寻呼机,如下所示:

@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 下载了一个示例项目,但是当我运行它时,我遇到了同样的问题。

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

I have a pager as follows:

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

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

Instead of displaying this:

Showing 1 - 10
of 10841 First |
Previous | Next |
Last

It displays this:

<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>

I also downloaded a sample project from codeproject, but when I run it, I get the same problem.

What could possibly be the problem? Can you guys help me out?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜爱纠缠 2024-11-06 21:22:21

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

寻呼机方法是否返回 String 而不是 IHtmlString?

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

@Html.Raw(Html.Pager(Model).First("First").Last("Last").Next("Next").Previous("Previous"))

Razor automatically encodes html if you return a String. It won't encode Html if you return an IHtmlString.

Does the pager method return a String instead of IHtmlString?

Try using Html.Raw. This method will convert a String to an IHtmlString.

@Html.Raw(Html.Pager(Model).First("First").Last("Last").Next("Next").Previous("Previous"))
飞烟轻若梦 2024-11-06 21:22:21

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

如果您需要使用没有子页面的分页器,那么您需要按照 Linkgoron 的建议将调用包装在 Html.Raw 中,因为 Html.Pager 默认使用 < code>ToString 返回一个 string 而不是 IHtmlString

The reason it works in the sample project and not your project is because in the sample project they're using the @Html.Pager in a partial page which is then called on the main page using @{Html.RenderPartial();} when rendering like that the rendered string from the Pager is output as html rather than encoded html.

If you need to use the pager without the subpages then you'll need to wrap the call in Html.Raw as Linkgoron suggested as the Html.Pager defaults to using the ToString which returns a string and not IHtmlString

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文