我有一个使用LinqToSql的ASP.Net-MVC应用程序。我有一个subcontracts表、一个service_lines表和一个包含subcontract_id和service_line_id的映射/链接表Service_lineToSubcontracts。在委外视图中,我想列出相应的服务行。
这行得通,但后面有一个逗号。
<% foreach (var sls in item.Service_lineToSubcontracts)
{ %>
<%= Html.Encode(sls.service_line.service_line_name+", ") %>
<% } %>我想我应该能够使用像String.Join(", ", item.Service_lineToSubcontracts.ToArray())这样的东西,但是我不确定如何获得service_line_names数组。
发布于 2010-03-11 04:05:13
执行以下操作:
<%= Html.Encode(string.Join(", ",
item.ServiceLineNames.Select(x=>x.service_line_name).ToArray())) %>发布于 2013-12-05 19:35:31
在Keltex答案中,您可以省略调用ToArray()方法,因为String.Join方法适用于任何IEnumerable<T>。
一个更简洁和可定制表单的提示是覆盖集合元素类的ToString()方法,在您的例子中可以这样做:
public class Service_lineToSubcontract
{
public Service_line service_line {get; set;}
...
public override string ToString()
{
return service_line.service_line_name; // Or whatever you need
}
}然后使用更简洁的形式:
<%= Html.Encode(String.Join(", ", item.Service_lineToSubcontracts)) %>在这种情况下,这个提示可能不是最好的选择,但当您有多个键-值对的集合,或者需要由多个属性组成的逗号分隔的描述列表时,它会大大简化
https://stackoverflow.com/questions/2420070
复制相似问题