传递到字典中的模型项的类型为'System.Linq.Enumerable

罪恶

我无一例外地尝试了这段代码。但是现在当我以同样的方式再次执行此操作时,一旦出现此异常,便说:

传递到字典中的模型项的类型为'System.Linq.Enumerable + WhereListIterator`1 [myapp12.Models.Customer]',但是此字典需要模型项为'myapp12.Models.Customer'。

这是我的密码

客户控制器

**public class CustomerController : Controller
    {
        //
        // GET: /Customer/
        List<Customer> CustomerCollection = new List<Customer>();
        public CustomerController()
        {

            Customer cus = new Customer();
            cus.CustomerId = 1;
            cus.Name = "Mags";
            cus.Gender = "Male";
            cus.City = "jerks";
            CustomerCollection.Add(cus);
            cus = new Customer();
            cus.CustomerId = 2;
            cus.Name = "Jacob";
            cus.Gender = "Male";
            cus.City = "Wagga";
            CustomerCollection.Add(cus);
            cus = new Customer();
            cus.CustomerId = 3;
            cus.Name = "Gags";
            cus.Gender = "Male";
            cus.City = "NewYork";
            CustomerCollection.Add(cus);
        }
        public ActionResult GetCustomerList()
        {
            return View(CustomerCollection);
        }
        public ActionResult GetCustomer(int id)
        {
            var selectedCustomer = CustomerCollection.Where(p => p.CustomerId == id);
            return View(selectedCustomer);
        }**

GetCustomerList.aspx(视图)

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<myapp12.Models.Customer>>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>GetCustomerList</title>
</head>
<body>
    <p>
        <%: Html.ActionLink("Create New", "Create") %>
    </p>
    <table>
        <tr>
            <th>
                <%: Html.DisplayNameFor(model => model.Name) %>
            </th>
            <th>
                <%: Html.DisplayNameFor(model => model.Gender) %>
            </th>
            <th>
                <%: Html.DisplayNameFor(model => model.City) %>
            </th>
            <th></th>
        </tr>

    <% foreach (var item in Model) { %>
        <tr>
            <td>
                <%: Html.DisplayFor(modelItem => item.Name) %>
            </td>
            <td>
                <%: Html.DisplayFor(modelItem => item.Gender) %>
            </td>
            <td>
                <%: Html.DisplayFor(modelItem => item.City) %>
            </td>
            <td>
                <%: Html.ActionLink("Edit", "Edit", new { id=item.CustomerId }) %> 
                <%: Html.ActionLink("Details", "GetCustomer", new { id = item.CustomerId })%> 
                <%: Html.ActionLink("Delete", "Delete", new { id=item.CustomerId }) %>
            </td>
        </tr>
    <% } %>

    </table>
</body>
</html>

GetCustomer.aspx(view)这正在获取特定用户的详细信息。

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<myapp12.Models.Customer>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>GetCustomer</title>
</head>
<body>
    <fieldset>
        <legend>Customer</legend>

        <div class="display-label">
            <%: Html.DisplayNameFor(model => model.Name) %>
        </div>
        <div class="display-field">
            <%: Html.DisplayFor(model => model.Name) %>
        </div>

        <div class="display-label">
            <%: Html.DisplayNameFor(model => model.Gender) %>
        </div>
        <div class="display-field">
            <%: Html.DisplayFor(model => model.Gender) %>
        </div>

        <div class="display-label">
            <%: Html.DisplayNameFor(model => model.City) %>
        </div>
        <div class="display-field">
            <%: Html.DisplayFor(model => model.City) %>
        </div>
    </fieldset>
    <p>

        <%: Html.ActionLink("Edit", "Edit", new { id=Model.CustomerId }) %> |
        <%: Html.ActionLink("Back to List", "GetCustomerList") %>
    </p>
</body>
</html>

这是我第一次做时第一次为我工作。但现在不起作用?我该怎么办?

威克多(Wiktor Zychla)

你有

  var selectedCustomer = 
  CustomerCollection.Where(p => p.CustomerId == id);

你应该在哪里

  var selectedCustomer = 
  CustomerCollection.Where(p => p.CustomerId == id).FirstOrDefault();

如果没有获取列表的第一个元素,您实际上是在传递一个可枚举的列表,而不是单个项目。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询后更新System.Linq.Enumerable

来自分类Dev

System.Linq.Enumerable.OfType <T>-是否有F#方式?

来自分类Dev

ASP.Net MVC“传递到字典中的模型项的类型为'System.Collections.Generic.List”

来自分类Dev

传递到字典中的模型项在ASP.net MVC中的类型为“ System.Collections.Generic.List ...”

来自分类Dev

传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery',但是此字典需要类型为B的模型项

来自分类Dev

在Mono之间对System.Linq.Enumerable.Max的模糊调用

来自分类Dev

当Linq中的Enumerable具有X个元素以上时提前返回

来自分类Dev

LINQ foreach循环中的System.Linq.Enumerable + d__3a`1 [System.String]错误

来自分类Dev

Xdocument上的Linq查询返回“ System.linq.Enumerable + WhereSelectEnumerableIterator'2 [system.XML.Linq.Xelement,System.String]

来自分类Dev

System.Linq.Enumerable.Select的难以键入参数

来自分类Dev

Linq.Enumerable的界外索引

来自分类Dev

传递到字典中的模型项的类型为'System.Net.Http.HttpResponseMessage',

来自分类Dev

如何在C#中将Linq Select Enumerable转换为首选类型?

来自分类Dev

传递到字典中的模型项的类型为'System.Collections.Generic.List,但是此字典需要类型为的模型项

来自分类Dev

Enumerable.First(System.Linq)C#的替代方法

来自分类Dev

传递到字典中的模型项的类型为'System.Collections.Generic.List`1 [X]',但是此字典需要类型为'X'的模型项

来自分类Dev

传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery',但是此字典需要类型为B的模型项

来自分类Dev

System.Linq.Enumerable上的错误。<TakeIterator> d__3a`1.MoveNext()

来自分类Dev

使用反射调用OrderBy(System.Linq.Enumerable)

来自分类Dev

传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery

来自分类Dev

传递到字典中的模型项的类型为'System.Data.Entity.DbSet

来自分类Dev

System.Linq.Enumerable.Select的难以键入参数

来自分类Dev

System.Linq.Enumerable.Any()的效率

来自分类Dev

传递到字典中的模型的类型为'TestApp.Models.Registration.RegistrationVm',但是此字典需要System.String类型的模型项

来自分类Dev

传递到词典中的模型项的类型为'System.Int32',但是此词典需要模型类型为'IMS.Models.Dealer'的模型项

来自分类Dev

System.Linq.Enumerable + WhereSelectListIterator`2错误

来自分类Dev

异常详细信息:System.InvalidOperationException:传递到字典中的模型项的类型为“ System.Collections.Generic.List”。

来自分类Dev

传递到字典中的模型项的类型为'System.Boolean',但是此字典需要类型为'MyProject.checkboxstate'的模型项

来自分类Dev

传递到字典中的模型项的类型为“System.Security.Principal.WindowsPrincipal”,但需要模型“Namepace.Models.User”

Related 相关文章

  1. 1

    查询后更新System.Linq.Enumerable

  2. 2

    System.Linq.Enumerable.OfType <T>-是否有F#方式?

  3. 3

    ASP.Net MVC“传递到字典中的模型项的类型为'System.Collections.Generic.List”

  4. 4

    传递到字典中的模型项在ASP.net MVC中的类型为“ System.Collections.Generic.List ...”

  5. 5

    传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery',但是此字典需要类型为B的模型项

  6. 6

    在Mono之间对System.Linq.Enumerable.Max的模糊调用

  7. 7

    当Linq中的Enumerable具有X个元素以上时提前返回

  8. 8

    LINQ foreach循环中的System.Linq.Enumerable + d__3a`1 [System.String]错误

  9. 9

    Xdocument上的Linq查询返回“ System.linq.Enumerable + WhereSelectEnumerableIterator'2 [system.XML.Linq.Xelement,System.String]

  10. 10

    System.Linq.Enumerable.Select的难以键入参数

  11. 11

    Linq.Enumerable的界外索引

  12. 12

    传递到字典中的模型项的类型为'System.Net.Http.HttpResponseMessage',

  13. 13

    如何在C#中将Linq Select Enumerable转换为首选类型?

  14. 14

    传递到字典中的模型项的类型为'System.Collections.Generic.List,但是此字典需要类型为的模型项

  15. 15

    Enumerable.First(System.Linq)C#的替代方法

  16. 16

    传递到字典中的模型项的类型为'System.Collections.Generic.List`1 [X]',但是此字典需要类型为'X'的模型项

  17. 17

    传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery',但是此字典需要类型为B的模型项

  18. 18

    System.Linq.Enumerable上的错误。<TakeIterator> d__3a`1.MoveNext()

  19. 19

    使用反射调用OrderBy(System.Linq.Enumerable)

  20. 20

    传递到字典中的模型项的类型为'System.Data.Entity.Infrastructure.DbQuery

  21. 21

    传递到字典中的模型项的类型为'System.Data.Entity.DbSet

  22. 22

    System.Linq.Enumerable.Select的难以键入参数

  23. 23

    System.Linq.Enumerable.Any()的效率

  24. 24

    传递到字典中的模型的类型为'TestApp.Models.Registration.RegistrationVm',但是此字典需要System.String类型的模型项

  25. 25

    传递到词典中的模型项的类型为'System.Int32',但是此词典需要模型类型为'IMS.Models.Dealer'的模型项

  26. 26

    System.Linq.Enumerable + WhereSelectListIterator`2错误

  27. 27

    异常详细信息:System.InvalidOperationException:传递到字典中的模型项的类型为“ System.Collections.Generic.List”。

  28. 28

    传递到字典中的模型项的类型为'System.Boolean',但是此字典需要类型为'MyProject.checkboxstate'的模型项

  29. 29

    传递到字典中的模型项的类型为“System.Security.Principal.WindowsPrincipal”,但需要模型“Namepace.Models.User”

热门标签

归档