C# 实体框架MVC剑道下拉列表

C# 实体框架MVC剑道下拉列表,c#,asp.net-mvc,kendo-ui,kendo-asp.net-mvc,C#,Asp.net Mvc,Kendo Ui,Kendo Asp.net Mvc,我试图通过控制器将数据从视图模型传递到dropdownlist,而不是使用ViewBag或ViewData、单选按钮和屏蔽文本框。我使用的是实体框架 问题是我似乎无法让控制器将视图模型属性正确地传递到视图中。我看过很多视频,并阅读了大量关于使用ViewBag和ViewData进行此操作的信息。我想我需要三种不同的方法。读取以读取和填充dropdownlist和屏蔽文本框,编辑以编辑它们,添加新记录以添加到数据库 我不知道该怎么做。如果它只是一个普通的文本框,而不是一个kendomsask或ken

我试图通过控制器将数据从视图模型传递到dropdownlist,而不是使用ViewBag或ViewData、单选按钮和屏蔽文本框。我使用的是实体框架

问题是我似乎无法让控制器将视图模型属性正确地传递到视图中。我看过很多视频,并阅读了大量关于使用ViewBag和ViewData进行此操作的信息。我想我需要三种不同的方法。读取以读取和填充dropdownlist和屏蔽文本框,编辑以编辑它们,添加新记录以添加到数据库

我不知道该怎么做。如果它只是一个普通的文本框,而不是一个kendomsask或kendodropDown,就可以了

我有一个这样的模型:

using System.ComponentModel.DataAnnotations;

namespace Cars.Models.CarsAppViewModels
{
    public class CarsViewModel
    {       
        [Key]
        public int? IDNumber { get; set; }
        public string CarType { get; set;  }
        public string Ford { get; set; }
        public String Chevy { get; set; }

        public List<SelectListItem> Mazdas { get; set; }
    }
}
我的控制器是让我感到舒服的部件

namespace Cars.Controllers
{
    public class CarTypeController : Controller
    {
        private readonly CarContext _context;

        public CarTypeController(CarContext context)
        {
            _context = context;
        }

        public IActionResult Index()
        {
            ViewData["Action"] = "Index";            
            return View();
        }

        public List<CarsViewModel> GetCars()
        {
            List<CarsViewModel> list = new List<CarsViewModel>();

            list = _context.Ford.Select(c => new CarsViewModel
            {
               IDNumber = c.IDNumber.ToString(),
               Ford=c.Ford,
               Mazda=c.Mazda
            }).ToList();

            return list;
        }
    }
}
我的看法是:

@model Model.Cars.Models.CarsAppViewModels

 <div class="col-md-11">
    <div class="panel panel-info">
       <div class="panel-heading text-center">
                Car Types
       </div>
     <div class="panel-body">
        <div style="float:inherit; width: 100%;">
           <span>
                <label style="margin:2em;color:#0487c4;">
               make  / Model
               </label>
        @Html.Kendo().DropDownList()
           .Name("CarType").OptionLabel("Choose the Type Of Car From theList")
           .HtmlAttributes(new { style = "width: 50%" })
          </span>
        <ul>
       <li style="color:#0487c4">
       @(Html.Kendo().RadioButton().Name("Company1")
       .Checked(true)
       .HtmlAttributes(new { @name = "company" })
       .Label("Company"))
        </li>
        <li style="color:#0487c4">
        @(Html.Kendo().RadioButton()
       .Name("Person")
       .Checked(true)
       .HtmlAttributes(new { @name = "company" })
       .Label("Individual"))
       </li>
       <li>
      @(Html.Kendo()
      .MaskedTextBox()
      .Name("FirstName")
       </li>
       </ul>
      </div>
      </div>
      </div>
     </div>

我得到一个空引用错误。

你得到了什么错误?请提供所有必要的信息和细节,以解决问题。您没有描述问题以及您尝试了什么。您确定正确地从数据库获取数据并将其存储在实体中吗?我收到一个空引用错误。或对象未设置为referencePlease调试,并确保Ford不为null。我确信数据库正常,并且我可以从kendo网格数据源访问信息,而不是从文本框或下拉列表。Index方法不应该返回视图吗?视图中的model语句正确吗?它似乎指定了名称空间而不是类?