我正在将一个Web表单应用程序移植到MVC3
我在局部视图中有局部视图,内部局部视图根据父视图模型的内容显示。
父部分视图具有此模型
@ModelType List(Of Integer)
然后这些行用于在同一页面中添加部分视图的多个实例。
<div style="width: 25%; vertical-align: bottom; float: left; clear: left">
@Html.Partial("ArtBlock")
</div>
<div style="width: 25%; vertical-align: bottom; float: left; clear: left">
@Html.Partial("ArtBlock")
</div>
<div style="width: 25%; vertical-align: bottom; float: left; clear: left">
@Html.Partial("ArtBlock")
</div>
这个div用List(Of Integer)
的四个值重复四次。也就是说,如果第一个索引包含的值大于100,它应该显示上面的第一个div,依此类推......
更新 应该根据列表索引中的id从数据库访问内部部分控件。
我在DAL中创建了函数(这是一个单独的dll),现在只剩下一个函数调用。
在Web表单中,使用以下内容绑定了内部用户控件...
ArtBlock1.Artikel = DataService.Artikel_GetByID(oList(0))
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
如果父类型被键入@ModelType List(Of Integer)
,则迭代模型以打印出div。这样的事情(借口语法错误,如果有的话,我使用C#,看起来你正在使用VB)
@foreach(var value in Model)
{
<div style="width: 25%; vertical-align: bottom; float: left; clear: left">
@Html.Partial("ArtBlock", value)
</div>
}
我相信您想查看value
,以便在那里添加if。
<强>更新强>
因此,假设您的DataService.Artikel_GetByID(oList(0))
返回Artikel
,您的父级部分将被输入@ModelType List(Of Artikel)
。
使用与上面相同的循环,但现在您的子部分已键入@ModelType Artikel
。
您的部分操作方法为return PartialView(artikelList, "nameOfPartial")