【问题标题】:GRID.mvc issue in changing language [ASP.net MVC 4]更改语言中的 GRID.mvc 问题 [ASP.net MVC 4]
【发布时间】:2014-04-24 11:33:14
【问题描述】:

我在我的项目中使用Grid.Mvc,我想更改网格的语言。为此,我首先为我的语言创建了 Gridmvc.lang.fr.js 文件:

    /***
* Grid.Mvc French language (fr-FR) http://gridmvc.codeplex.com/
*/
window.GridMvc = window.GridMvc || {};
window.GridMvc.lang = window.GridMvc.lang || {};
GridMvc.lang.fr = {
    filterTypeLabel: "Type: ",
    filterValueLabel: "Valeur:",
    applyFilterButtonText: "Applique",
    filterSelectTypes: {
        Equals: "Egale",
        StartsWith: "commance par",
        Contains: "contient",
        EndsWith: "fini par",
        GreaterThan: "plus que",
        LessThan: "moin que"
    },
    code: 'fr',
    boolTrueLabel: "Vrai",
    boolFalseLabel: "faux",
    clearFilterLabel: "Vide"
};

然后在我看来我做了这个:

    @Html.Grid(Model).Named("offresGrid").Columns(columns =>
                            {
                                columns.Add(item => item.REGION.NOM)
                                .Filterable(true)
                                .Sortable(true); ...
                            }).WithPaging(20)
    <script>
        $(function () {
            pageGrids.offresGrid.lang = GridMvc.lang.fr;
         });
</script>

这是gridmvc.js的一部分:

//load current lang options:
    this.lang = GridMvc.lang[this.options.lang];
    if (typeof (this.lang) == 'undefined')
        this.lang = GridMvc.lang.en;

但是当我点击Filter Icon 时它不起作用,一个空的弹出窗口没有任何值或按钮。
任何人都知道如何将语言默认更改为 Lang.fr 吗?

【问题讨论】:

  • 你是否在你的视图中引用了这个库Gridmvc.lang.fr.js
  • 你的js调试器有错误吗?
  • @lnanikian 我忘了引用它。另外如何使 Lang.fr 成为默认语言?我已经更新了我的问题并添加了新答案以将其标记为已删除。

标签: c# javascript html asp.net-mvc asp.net-mvc-4


【解决方案1】:

我只是找到了另一种解决此问题的方法,希望对其他人有所帮助。 我创建了自己的 lang 文件

gridmvc.lang.es.js

在包中的 mvcgrid.js 之后包含它

bundles.Add(new ScriptBundle("~/bundles/mvcgrid").Include(
    "~/Scripts/gridmvc.js",
    "~/Scripts/gridmvc.lang.es.js"));

然后用SetLanguage来使用它:

@Html.Grid(Model).SetLanguage("es").Columns(...)...

【讨论】:

  • 完美的朋友,谢谢 :)
【解决方案2】:

如果默认情况下您无法更改当前语言,那么您只需将 Gridmvc.lang.fr.js 引用放入您的布局和此脚本中:

  <script>
    $(function () {
        pageGrids.offresGrid.lang = GridMvc.lang.fr;
     });
 </script>

关于GridMVC.js中的这个sn-p:

    this.lang = GridMvc.lang[this.options.lang];
    if (typeof (this.lang) == 'undefined')
    this.lang = GridMvc.lang.fr;//try this but I am not sure. Because it supposes to update the lang section
                                            // Where the lang is situated or add the first code above there.

我希望它会有所帮助。

【讨论】:

  • 它与 gridmvc.js 在同一个文件夹中,将 gridmvc.Lang.en 更改为 gridmvc.lang.fr 并没有解决默认设置的问题。
  • 您能否在gridmvc.js 中快速搜索以找到 Lang.en,我认为您需要对其进行编辑。看看它是如何定义的,这样你就可以用Grid.lang.frfrench 创建相同的,它可以工作
  • 非常感谢您给了我一个好主意,我只是将gridmvc.Lang.fr.js 文件的内容复制到我的gridmvc.js 文件中,然后我将这一行更改为this.lang = GridMvc.lang.fr; 而不是这样:` this.lang = GridMvc.lang[this.options.lang];` 非常感谢
  • 我能收到你的邮件吗?
  • 使用@maxicecilia解决方案,无需修改gridmvc脚本和设置语言!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-09
  • 1970-01-01
  • 1970-01-01
  • 2015-03-17
  • 1970-01-01
  • 2019-01-07
相关资源
最近更新 更多