Предположим, у меня есть контроллер, который возвращает частичное представление:
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
возвращенной).Любая помощь будет оценена.