ASP.Net MVC 5 寻呼机号码更改语言

ASP.Net MVC 5 Pager number change language

我一直在使用 ASP.Net MVC 5 构建我的 Web 应用程序,为了分页,我遵循了以下教程。

http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application

一切如期进行。但是我的项目要求 pager 中显示的页面列表是孟加拉语而不是英语,这取决于文化信息。

例如我的页面中有以下内容

1 2 3

但我需要它

所以数字被翻译了。

有没有办法使用我使用的 PagedList.MVC 组件来实现?

您可以使用 PagedListRenderOptions 指定一个函数来格式化您的数字。示例改编自 GitHub:

上的文档
@Html.PagedListPager((IPagedList)ViewBag.OnePageOfProducts,
    page => Url.Action("Index", new { page = page }),
    new PagedListRenderOptions {
        FunctionToDisplayEachPageNumber =
            page => page.ToString()
    }
)

关键点是这个指令:page => page.ToString(),默认实现只是 String.Format(LinkToIndividualPageFormat , page) 但你可以用你自己的函数替换它(就像前面的例子一样)。

不幸的是,page.ToString(new CultureInfo("bn-IN")) 不会将 1 打印为 ,因此您必须手动完成。一个非常天真的例子(不要用这个,它很糟糕而且效率低下)只是为了解释我的意思:

page => page.ToString()
    .Replace("1", "\u09e7") 
    .Replace("2", "\u09e8")
    .Replace("3", "\u09e9"); // And so on...