C# “所有拖车的安装错误”;“可用”;存储在数据库中的拖车显示在订单表单的下拉菜单中,以便我可以创建订单
我只想在创建订单时,能够从数据库的下拉菜单中填充所有可用的C# “所有拖车的安装错误”;“可用”;存储在数据库中的拖车显示在订单表单的下拉菜单中,以便我可以创建订单,c#,linq,asp.net-mvc-4,razor,entity-framework-6,C#,Linq,Asp.net Mvc 4,Razor,Entity Framework 6,我只想在创建订单时,能够从数据库的下拉菜单中填充所有可用的拖车。在此之后,我应该能够将拖车状态更改为不可用,以便它不再出现在下拉菜单中。因为我不知道如何准确地填充订单中的预告片,所以当我的程序崩溃时。我已经尝试了我所知道的一切。下面是我的一些代码。预告片和订单应该是一对一的关系 public class Trailer { public string SerialNumber { get; set; } public string TrailerNumbe
拖车。在此之后,我应该能够将拖车状态更改为不可用,以便它不再出现在下拉菜单中。因为我不知道如何准确地填充订单中的预告片,所以当我的程序崩溃时。我已经尝试了我所知道的一切。下面是我的一些代码。预告片和订单应该是一对一的关系
public class Trailer
{
public string SerialNumber { get; set; }
public string TrailerNumber { get; set; }
public string TrailerStatus { get; set; }
public int TrailerID { get; set; }
//has a one to one relationship with order
public virtual Order orderforTrailer { get; set; }
public Trailer()
{
TrailerStatus = "Avaliable";
}
}
public class Order
{
public string OrderNumber { get; set; }
public string OrderStatus { get; set; }
public int OrderID { get; set; }
//has a one to one relationship with Trailer
public virtual Trailer TrailerForLoad { get; set; }
public Order()
{
OrderStatus = "Available";
}
}
public IActionResult Add()
{
// passes in the list of available trailers in the order form
IList<Trailer> trailerForLoad = context.Trailers.Include
(c =>c.TrailerStatus == "Avaliable").ToList();
AddOrderViewModel addOrderViewModel = new
AddOrderViewModel(trailerForLoad);
return View(addOrderViewModel);
}
[HttpPost]
public IActionResult Add(AddOrderViewModel addOrderViewModel)
{
if (ModelState.IsValid)
{
Order newOrder = new Order()
{
OrderNumber = addOrderViewModel.OrderNumber,
TrailerForLoad = context.Trailers.Where(x => x.TrailerID == addOrderViewModel.TrailerID).Single()
};
context.Orders.Add(newOrder);
trailerSelected = context.Trailers.Where(x => x.TrailerID == addOrderViewModel.TrailerID).Single();
trailerSelected.TrailerStatus = "Unavilable";
context.SaveChanges();
return Redirect("/Order");
}
return View(addOrderViewModel);
}
Trailer trailerSelected = new Trailer();
公共类预告片
{
公共字符串序列号{get;set;}
公共字符串TrailerNumber{get;set;}
公共字符串TrailerStatus{get;set;}
public int TrailerID{get;set;}
//与订单有一对一的关系
公共虚拟订单orderforTrailer{get;set;}
公共拖车()
{
TrailerStatus=“可用”;
}
}
公共阶级秩序
{
公共字符串OrderNumber{get;set;}
公共字符串OrderStatus{get;set;}
公共int-OrderID{get;set;}
//与拖车有一对一的关系
公共虚拟拖车拖车装载{get;set;}
公共秩序()
{
OrderStatus=“可用”;
}
}
public IActionResult Add()
{
//通过订单中的可用拖车列表
IList trailerForLoad=context.Trailers.Include
(c=>c.TrailerStatus==“可用”).ToList();
AddOrderViewModel AddOrderViewModel=新建
AddOrderViewModel(trailerForLoad);
返回视图(addOrderViewModel);
}
[HttpPost]
公共IActionResult添加(AddOrderViewModel AddOrderViewModel)
{
if(ModelState.IsValid)
{
订单newOrder=新订单()
{
OrderNumber=addOrderViewModel.OrderNumber,
TrailerForLoad=context.Trailers.Where(x=>x.TrailerID==addOrderViewModel.TrailerID).Single()
};
context.Orders.Add(newOrder);
trailerSelected=context.Trailers.Where(x=>x.TrailerID==addOrderViewModel.TrailerID).Single();
trailerSelected.TrailerStatus=“不可用”;
SaveChanges();
返回重定向(“/订单”);
}
返回视图(addOrderViewModel);
}
拖车拖车选定=新拖车();
您尚未解释问题所在。创建一个下拉菜单,并将控件设置为disabled(禁用),是相当容易的事情。也许会雇佣一名程序员?好吧,我上面的代码是我想要实现的,但我显然没有实现我的目标,因为当我试图拉订单时,它崩溃了