我想将一些部分视图渲染到主视图中。所以我使用了Ext.Net.ComponentLoader,如下所示:
@(
Html.X().Window()
.Title("Items")
.Width(400)
.Height(300)
.Closable(false)
.Resizable(false)
.Layout(LayoutType.Border)
.Items(i=>{
i.Add(new Panel{
ID = "West1",
Title = "West",
Width=200,
Layout = "Accordion",
Region = Region.West,
Loader = Html.X().ComponentLoader()
.Url(Url.Action("WestItems"))
.Mode(LoadMode.Script)
.Params(new { containerId = "West1" })
});
i.Add(new Panel{
ID = "Center1",
Region = Region.Center,
BodyPadding = 10,
Header = false
});
})
)
这里的主视图是使用动作控制器"WestItems"
调用部分视图,这在我的情况下并不好。我想直接调用部分View而不使用动作控制器,例如使用Html.Partial("_PartialView", Model)
我也希望将模型作为参数发送到局部视图。有没有办法直接通过ComponentLoader调用Partial View?如何将模型作为参数发送到部分视图?
答案 0 :(得分:2)
我们应该总是调用控制器动作,它们将呈现部分视图。 部分视图称为:
public PartialViewResult _PartialView(string containerId)
{
...
return new PartialViewResult
{
RenderMode = RenderMode.AddTo,
ContainerId = containerId,
Model = yourModel,
WrapByScriptTag = false
};
}
}