EXTNET MVC。使用商店将数据发送到页面

时间:2016-03-23 13:45:40

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

我正在努力翻译网页。

使用MVC和EXTNET框架完成Web。

我在网上使用商店。我正在尝试加载到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只有一个temtem,但我发送了12个或更多的动作。

有关代码问题的任何想法? 需要更多参数进入cshtml吗?

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

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

但它不是在cshtml中,我不知道我的所有cshtml代码是否正确并且像示例一样。

1 个答案:

答案 0 :(得分:0)

确定。

以前的所有代码都是正确的。

只重建项目,并且工作完美。

对此问题感到抱歉。