首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示由逗号分隔且不带尾随逗号的值列表

显示由逗号分隔且不带尾随逗号的值列表
EN

Stack Overflow用户
提问于 2010-03-11 03:55:12
回答 2查看 1.3K关注 0票数 4

我有一个使用LinqToSql的ASP.Net-MVC应用程序。我有一个subcontracts表、一个service_lines表和一个包含subcontract_id和service_line_id的映射/链接表Service_lineToSubcontracts。在委外视图中,我想列出相应的服务行。

这行得通,但后面有一个逗号。

代码语言:javascript
复制
<% foreach (var sls in item.Service_lineToSubcontracts)
   { %>
   <%= Html.Encode(sls.service_line.service_line_name+", ") %>
<% } %>

我想我应该能够使用像String.Join(", ", item.Service_lineToSubcontracts.ToArray())这样的东西,但是我不确定如何获得service_line_names数组。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-11 04:05:13

执行以下操作:

代码语言:javascript
复制
<%= Html.Encode(string.Join(", ",
item.ServiceLineNames.Select(x=>x.service_line_name).ToArray())) %>
票数 3
EN

Stack Overflow用户

发布于 2013-12-05 19:35:31

在Keltex答案中,您可以省略调用ToArray()方法,因为String.Join方法适用于任何IEnumerable<T>

一个更简洁和可定制表单的提示是覆盖集合元素类的ToString()方法,在您的例子中可以这样做:

代码语言:javascript
复制
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
  }
}

然后使用更简洁的形式:

代码语言:javascript
复制
<%= Html.Encode(String.Join(", ", item.Service_lineToSubcontracts)) %>

在这种情况下,这个提示可能不是最好的选择,但当您有多个键-值对的集合,或者需要由多个属性组成的逗号分隔的描述列表时,它会大大简化

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2420070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档