使用asp.net,我已经使用ListView向每行显示两个客户:
<asp:ListView ID="CustListView" runat="server"
GroupItemCount="2" cellpadding="0" cellspacing="0" style="border-collapse: collapse;border-color:#111111;width:100%;" >
<LayoutTemplate>
<table>
<tr>
<td>
<table cellpadding="0" cellspacing="5" >
<asp:PlaceHolder runat="server" ID="groupPlaceHolder"></asp:PlaceHolder>
</table>
</td>
</tr>
</table>
</LayoutTemplate>
<GroupTemplate>
<tr>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
</tr>
</GroupTemplate>
<ItemTemplate>
<%#Eval("Customer.Name")%>
<ItemTemplate>
</ListView/>
我怎样才能在mvc 2.any links中做到这一点?
答案 0 :(得分:1)
在ASP.NET MVC中,首先要忘记您可能使用的任何WebForms控件。像ListView
这样的事情是无关紧要的。在ASP.NET MVC中,您使用模型,控制器和视图。因此,您可以从定义视图模型开始:
public class CustomerViewModel
{
public string Name { get; set; }
}
你的控制器应该填写:
public ActionResult Index()
{
var model = new[]
{
new CustomerViewModel { Name = "John" },
new CustomerViewModel { Name = "Peter" },
new CustomerViewModel { Name = "Mary" },
};
return View(model);
}
最后你有一个强烈输入CustomerViewModel[]
的视图,你可以在其中生成一个表:
<table>
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
<% for (var i = 0; i < Model.Length; i++) { %>
<tr>
<td><%= Html.DisplayFor(x => x[i].Name) %></td>
</tr>
<% } %>
</tbody>
</table>