我正在使用MVC 3 Razor制作一个简单的CMS用于练习,而我的想法是,我创建了一些部分视图.
我该怎么做?在WebForms中,您调用LoadControl(ControlURL),但是我在这里看不到等效项.
会是客户端的事情吗?
编辑 – 我更想到从模型中获取视图名称,然后呈现该视图,而不是提前了解视图的名称.所以一个页面可能有一个名为Foo的视图或一个名为Bar的视图.该模型在运行时会告诉控制器动作哪个视图要呈现.
解决方法
有两种方法可以用来渲染“控件”.
@Html.Partial("ViewName") @{ Html.RenderPartial("ViewName"); }
您还可以呈现其他操作.
@Html.Action("ActionName","Controller",new { Values = "yourvalues" }) @{ Html.RenderAction("ActionName",new { Values = "yourvalues" }); }
请注意,每个的第二个被@ {}包围,这是因为它们不返回一个字符串,而是直接渲染到流中.