我在动态页面中渲染强类型的局部视图。 我在控制器内部有一个方法(xyz)来填充模型。
如何填充模型并渲染此局部视图
我试过这个
<% Html.RenderPartial("partialviewname",xyz()); %>
但我得到的构建错误说没有xyz()的参考,我添加了我的控制器类作为参考,没有运气
我错过了什么吗?答案 0 :(得分:1)
什么是xyz()???
无论如何....在你的控制器中添加这样的动作
[HttpGet]
public virtual ActionResult Create() {
MyModel dm = _manager.CreateMyModel();
return PartialView( "MyModelView", dm );
}
然后创建一个名为“MyModelView”的部分视图,它是MyModel类的强类型,你已经完成了。
如果您需要进一步的帮助,请编辑您的问题并从示例中添加更多代码
答案 1 :(得分:1)
您无法直接在视图中从控制器调用方法。我从你的问题中得出你需要的是Html.RenderAction(“xyz”)而不是Html.RenderPartial。
然后xyz动作可以恢复模型,并返回一个PartialView(参见Lorenzo的答案),然后在主视图中呈现。
答案 2 :(得分:0)
在调用RenderPartial之前调用xyz()方法。
<%
var myController= ViewContext.Controller as YourControllerClass;
var myModel = myController.xyz();
%>
然后你可以使用var myModel:
<% Html.RenderPartial("partialviewname", myModel); %>