显示字符串列表

时间:2015-05-07 02:01:06

标签: c# asp.net asp.net-mvc

我目前正在学习C#.net而我正在尝试显示一个明确的状态列表,但我无法弄清楚如何执行此操作。

在我的控制器中我有:

public ActionResult StateListDistinct()
        {
            var distinctStates = (from w in db.Contact_Addresses
                                  select new { State = w.Site_address_state}).Distinct();

            return View(distinctStates.ToList());
        }

在我看来,我有:

@model List<String>
<table class="table">

@foreach (var item in Model) {
    <tr>

        <td>
            @Html.DisplayFor(model => item)
        </td>

    </tr>
}

</table>

我收到了错误

  

传入字典的模型项的类型是&#39; System.Collections.Generic.List`1 [&lt;&gt; f__AnonymousType1`1 [System.String]]&#39;,但这个字典需要一个类型&#39; System.Collections.Generic.List`1 [System.String]&#39;的模型项。

显示状态列表需要做什么?

1 个答案:

答案 0 :(得分:4)

您的视图需要一个字符串列表,但您提供的字符串是匿名类型列表。

使用方法语法,您可以通过以下方式实现目标:

db.Contact_Addresses.Select(state =>state.Site_address_state).Distinct().ToList();

这也可以解决问题:

var distinctStates = (from w in db.Contact_Addresses
                              select w.Site_address_state).Distinct().ToList();