假设我有一个返回部分视图的控制器:
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
返回)。任何帮助将不胜感激。