【问题标题】:EXTNET MVC. Use a Store to send data to a page外网 MVC。使用 Store 将数据发送到页面
【发布时间】:2016-03-23 13:45:39
【问题描述】:

我正在尝试动态翻译网页。

Web 使用 MVC 和 EXTNET 框架完成。

我正在使用网络商店。我正在尝试加载到 X() 中。存储资源文件的信息。

当加载网络时,商店调用一个动作,它用数据(键,值)创建一个字典。 然后,通过一个监听器,我调用了一个 JavaScript 函数。 但是在这个 JavaScript 函数上,我没有找到包含值的数组。

cshtml的代码是:

@using (Html.BeginForm())
{
    var X = Html.X();
    @(
    X
    .Store()
    .ID("dsTranslate")
    .AutoLoad(true)
    .Fields(field =>
        {
            field.Add("key");
            field.Add("value");
        }           
    )
    .Listeners(lis=>lis.Load.Fn="TranslateLoaded")
    .Proxy(p =>
        {
            p.Add(
                X.AjaxProxy()
                .Url("/extnet/Translate")
                .Reader(
                        reader => reader.Add(X.JsonReader().RootProperty("data").TotalProperty("total").IDProperty("key"))
                       )
                );
        }
        )
    )

方法 /extnet/Translate 的控制器代码:

public StoreResult Translate()
{

        var lang = "es-ES";

        if (Request.Cookies.Count > 0)
            lang = Request.Cookies["cultureCode"].Value;


        CultureInfo cult = Thread.CurrentThread.CurrentCulture;

        try
        {
            cult = new CultureInfo(lang);
        }
        catch (Exception ex) { }

        ResourceSet res = Resources.ResourceAdministracion.ResourceManager.GetResourceSet(cult, true, false);
        IDictionaryEnumerator trav = res.GetEnumerator();
        Dictionary<string, string> dict = new Dictionary<string, string>();

        while (trav.MoveNext())
        {
            if (trav.Key.ToString().Length > 2)
                dict.Add(trav.Key.ToString(), trav.Value.ToString());
        }

        var q = from c in dict
                select new { key = c.Key, value = c.Value };

        return new StoreResult(q, dict.Count);
    }

我有问题的地方。脚本js:

var TranslateLoaded = function (objGrid, gridRecords, objOptions) {
        for (var i = 0; i < gridRecords.length; i++) {
            alert('Clicked');
        }
}

对象 gridRecords 只有一个项目,但我将 12 个或更多发送到操作的存储结果中。

对代码的问题有任何想法吗? 需要更多参数到 cshtml 中吗?

调试脚本,我可以看到变量总计数和我拥有的记录数,但我不知道数组在哪里。

我正在尝试这样做: http://sodeve.net/2011/10/how-to-enable-multi-language-translations-in-ext-net-mvc-part-2/

但是cshtml中没有,不知道我所有的cshtml代码是否正确,和例子一样。

【问题讨论】:

    标签: c# asp.net-mvc-4 extjs ext.net


    【解决方案1】:

    好的。

    前面的代码都是正确的。

    只有重建项目,才能完美运行。

    抱歉这个问题。

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 2014-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多