目前我有一个调用部分视图的视图,一切正常。
当前观点:
@foreach (var item in Model)
{
@Html.Partial("_topposts", item)
}
现在我想将模型本身传递给局部视图而不是模型中的项目。像下面的东西
我想要这样的东西:
@Html.Partial("_topposts", item)
然后在局部视图中我想要这个
部分视图:
@foreach (var item in Model)
{
<P>Name: item.Name</p>
}
模特课程:
public class PostModel
{
public int Id { get; set; }
public string Post { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string Timeago { get; set; }
public int CommentsCount { get; set; }
}
}
答案 0 :(得分:3)
Now i want to pass the model itself
只需使用
@Html.Partial("_topposts", Model)
而不是
@Html.Partial("_topposts", item)
您的部分视图代码很好。
另外使用您要传递的对象类型更改部分视图的@model
定义
答案 1 :(得分:0)
您可以在控制器上创建一个操作方法,返回部分视图;
public PartialViewResult YourPartialView(int parameter)
{
// get your viewmodel using the parameter...
var vm = new YourPartialViewModel(parameter);
return PartialView(vm);
}
在主视图中:
@foreach (var item in Model)
{
@{ Html.RenderAction("YourPartialView", new { parameter = item.id }); }
}
确保创建类型为“YourPartialViewModel”
的强类型局部视图@model YourPartialViewModel
@foreach (var item in Model.Items)
{
/// .......
}