Ext.JS: Эталонная модель в JavaScript - PullRequest
0 голосов
/ 23 октября 2018

Предположим, у меня есть контроллер, который возвращает частичное представление:

public class MyController : Controller
{
    public Ext.Net.MVC.PartialViewResult MyPartialView(int id)
    {
        var model = _myFactory.GetResult(id);
        return new Ext.Net.MVC.PartialViewResult
        {
            RenderMode = RenderMode.AddTo,
            ContainerId = "ContainingPanel",
            WrapByScriptTag = false,
            Model = model
        };
    }

    public Ext.Net.MVC.PartialViewResult Update(MyModel)
    {
        // do some stuff
    }
}

, и модель определяется следующим образом:

public class MyModel
{
    public int Id { get; set; }
    public string SomeString { get; set; }
    public SomeEnum SomeEnum { get; set; }
    /// Other property definitions
}

, и все это переходит в представление:

@model MyModel
@{
    var x = Html.X();
}

@(x.FormPanel()
    .ID(string.Format("Details_{0}_", Model.Id))
    .Items(
        x.Button()
            .Text("Update")
            .Listeners(ls =>
            {
                ls.Click.Handler = string.Format("MyJS.onUpdateBtnClick('{0}', {1});", 
                    Url.Action("Update", "My"));
            })
        )
    )

с JavaScript, который выглядит следующим образом:

onUpdateBtnClick: function (url) {
    model = // code to get the model
    // Do some other stuff
}

Мой вопрос: что мне нужно сделать, чтобы получить данные в MyModel из MyView?Я слышал о функции getViewModel, но до сих пор не смог заставить ее работать (я только когда-либо видел null возвращенной).Любая помощь будет оценена.

...