【问题标题】:Call PartialView via Ext.Net.ComponentLoader通过 Ext.Net.ComponentLoader 调用 PartialView
【发布时间】:2014-06-02 16:34:00
【问题描述】:

我想将一些局部视图渲染到主视图中。所以我像这样使用了 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" 调用部分视图,这在我的情况下不好。我想直接调用局部视图而不使用动作控制器,例如使用Html.Partial("_PartialView", Model) 我也想将模型作为参数发送到局部视图。有没有办法直接通过ComponentLoader调用Partial View?如何将模型作为参数发送到局部视图?

【问题讨论】:

标签: asp.net-mvc razor


【解决方案1】:

我们应该始终调用控制器动作,它们将呈现部分视图。 部分视图被称为:

public PartialViewResult _PartialView(string containerId)
        {
            ...
             return new PartialViewResult
                {
                    RenderMode = RenderMode.AddTo,
                    ContainerId = containerId,
                    Model = yourModel,
                    WrapByScriptTag = false 
                };
            }
        }

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    相关资源
    最近更新 更多