【问题标题】:I am trying to include two Models in my index page我正在尝试在我的索引页面中包含两个模型
【发布时间】:2020-03-19 07:51:49
【问题描述】:

我正在尝试将“汽车”和“客户”模型添加到我的主页中,以创建一个搜索功能,一旦点击该功能就会发送到另一个页面,其中包含与搜索条件匹配的汽车和客户表。

我创建了一个视图模型类,其中包含我想要的所有字段

 public class HomeViewModel

{
    public string CustomerName { get; set; } // Customer

    public string LicenseNo { get; set; }//Customer

    public int CustomerID { get; set; } //Customer

    public int CarID { get; set; } //Car

    public string Make { get; set; } // Car

    public string Model { get; set; } // Car

    public string RegNumber { get; set; } //Car

    public string Colour { get; set; } //Car

    public int CarCategoryID { get; set; } //Car Category

    public string CarCategoryName { get; set; } //Car Category
}

然后在我的 HomeController 中添加了以下内容

public ActionResult Index(string Search)
    {
        ViewBag.asad = Search;
        List<HomeViewModel> homeViewModels = new List<HomeViewModel>(); // to hold list of Customer and order details

        var customerlist = (from Cust in db.Customers

                            join Ord in db.Cars on Cust.CustomerID equals Ord.CarID
                            select new
                            {
                                Cust.CustomerName,
                                Cust.CustomerID,
                                Cust.LicenseNo,
                                Ord.CarID,
                                Ord.Make,
                                Ord.Model,
                                Ord.RegNumber,
                                Ord.Colour,
                                Ord.CarCategoryID,
                                Ord.CarCategory.CarCategoryName,

                            }).ToList();

        //query getting data from database from joining two tables and storing data in customerlist

        foreach (var item in customerlist)

        {
            HomeViewModel objcvm = new HomeViewModel(); // ViewModel

            objcvm.CustomerID = item.CustomerID;
            objcvm.CustomerName = item.CustomerName;
            objcvm.LicenseNo = item.LicenseNo;
            objcvm.CarID = item.CarID;
            objcvm.Make = item.Make;
            objcvm.Model = item.Model;
            objcvm.RegNumber = item.RegNumber;
            objcvm.Colour = item.Colour;
            objcvm.CarCategoryID = item.CarCategoryID;
            objcvm.CarCategoryName = item.CarCategoryName;

            homeViewModels.Add(objcvm); //Using foreach loop fill data from custmerlist to List<CustomerVM>.
        }
            return View(homeViewModels); //List of HVM (ViewModel)

此代码不返回null,而是返回count=0,但我的字段中有数据

【问题讨论】:

    标签: asp.net asp.net-mvc model-view-controller


    【解决方案1】:

    核心永远不会返回null,因为您在一开始就已经初始化了列表homeViewModels

    现在如果模型中的 count=0 意味着您的 customerlist 也是空的。哪个来自数据库,所以我认为没有找到匹配的记录或加入条件错误。

    您正在加入汽车的CarID 和客户的CustomerID,这看起来不对。

    【讨论】:

    • 那我应该怎么解决呢??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-30
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多