C# ViewModel Controller

本文关键字:Controller ViewModel | 更新日期: 2024-09-19 23:49:57

我得到了错误;

严重性代码描述项目文件行错误CS0742查询正文必须以select子句或group子句结尾

是什么导致了这个错误,我该如何修复它?

这是我的控制器

public ActionResult Index()
        {
            string currentUserId = this.User.Identity.GetUserName();
            var list = from o in new TshirtStoreDB().Orders
                        .Where(o => o.Username == currentUserId)
                        .OrderBy(o => o.OrderDate)
                        .Select(o => new MyOrdersViewModel()
                        {
                            OrderId = o.OrderId,
                            Address = o.Address,
                            FirstName = o.FirstName,
                            LastName = o.LastName,
                            City = o.City,
                            OrderDate = o.OrderDate,
                            PostalCode = o.PostalCode,
                            Total = o.Total,
                            HasBeenShipped = o.HasBeenShipped,
                            Details = (from d in o.OrderDetails
                                       select new MyOrderDetails
                                       {
                                           Description = d.Product.Description,
                                           Quantity = d.Quantity,
                                           Title = d.Product.Title,
                                           UnitPrice = d.UnitPrice
                                       }).ToList()
                        }).ToList();

            return View(list);
        }

没有错误,只是现在看不到数据,我的视图有问题吗?

@model List<T_shirt_Company_v3.ViewModels.MyOrdersViewModel>

@{
    ViewBag.Title = "My Orders";
}

<table bgcolor="#00FF00" cellpadding="4" cellspacing="3">
    @foreach (var m in Model)
    {
        <tr>
            <td>Order Placed At: @m.OrderDate</td>
            <td>Total Cost: @m.Total</td>
            <td>Dispatched to: @m.FirstName @m.LastName</td>
            <td>Delivery Address: @m.Address <br /> @m.City <br /> @m.PostalCode <br /> </td>
            <td>Order Number: @m.OrderId</td>
        </tr>
        foreach (var d in m.Details)
        {
                        <tr>
                            <td colspan="3">Product Name: @d.Title</td>
                            <td>Quantity Ordered: @d.Quantity</td>
                            <td>Price: @d.UnitPrice</td>
                        </tr>


        }
    }
</table>

C# ViewModel Controller

问题可能是因为没有向View发送有效的模型。请检查一下。

List<T_shirt_Company_v3.ViewModels.MyOrdersViewModel> list = (from o in new TshirtStoreDB().Orders
                    .Where(o => o.Username == currentUserId)
                    .OrderBy(o => o.OrderDate)
                    .Select(o => new MyOrdersViewModel()
                    {
                        OrderId = o.OrderId,
                        Address = o.Address,
                        FirstName = o.FirstName,
                        LastName = o.LastName,
                        City = o.City,
                        OrderDate = o.OrderDate,
                        PostalCode = o.PostalCode,
                        Total = o.Total,
                        HasBeenShipped = o.HasBeenShipped,
                        Details = (from d in o.OrderDetails
                                   select new MyOrderDetails
                                   {
                                       Description = d.Product.Description,
                                       Quantity = d.Quantity,
                                       Title = d.Product.Title,
                                       UnitPrice = d.UnitPrice
                                   }).ToList()
                    }).ToList() select o).ToList();