Javascript 如何在mvc5中显示从模型到级联下拉列表的外键值?
我还是mvc5新手,对javascript知之甚少。我知道我的级联可以工作,但是我在显示部分遇到了问题。我想做的是有2个下拉列表。1包含所有客户名称,第2个包含其待处理交易的列表。基本上,第一个下拉列表将有客户名称,而第二个下拉列表将有视频标题。请检查我错在哪里的代码。为什么我不能显示视频标题。顺便说一句,我在我的交易中尝试了其他属性,我可以显示它们。这就是为什么我知道我的级联不是问题所在 模型Javascript 如何在mvc5中显示从模型到级联下拉列表的外键值?,javascript,c#,json,asp.net-mvc,asp.net-mvc-5,Javascript,C#,Json,Asp.net Mvc,Asp.net Mvc 5,我还是mvc5新手,对javascript知之甚少。我知道我的级联可以工作,但是我在显示部分遇到了问题。我想做的是有2个下拉列表。1包含所有客户名称,第2个包含其待处理交易的列表。基本上,第一个下拉列表将有客户名称,而第二个下拉列表将有视频标题。请检查我错在哪里的代码。为什么我不能显示视频标题。顺便说一句,我在我的交易中尝试了其他属性,我可以显示它们。这就是为什么我知道我的级联不是问题所在 模型 //Transaction Model TransactionID { get; set; } pu
//Transaction Model
TransactionID { get; set; }
public int CustomerID { get; set; }
public virtual Customers CustomerName { get; set; }
public int VideoID { get; set; }
public virtual Videos Videos { get; set; }
public int Quantity { get; set; }
[ReadOnly(true)]
public DateTime? TransactionDate { get; set; }
[ReadOnly(true)]
public DateTime? DueDate { get; set; }
[ReadOnly(true)]
public Decimal Cost { get; set; }
[ReadOnly(true)]
public String ReturnStatus { get; set;}
//Customers Model
public int CustomerID { get; set; }
public string CustomerName { get; set; }
public string CustomerAddress { get; set; }
public string CustomerContact { get; set; }
//Video Model
public int VideoID { get; set; }
public string VideoTitle { get; set; }
public int CategoryID { get; set; }
public virtual Category VideoCategory { get; set; }
[Range(0,99)]
public int VideoIn { get; set; }
[Range(0,99)]
public int VideoOut { get; set; }
康罗尔
public ActionResult CustomerList()
{
var customers = db.Customers.OrderBy(x => x.CustomerID).ToList();
if (HttpContext.Request.IsAjaxRequest())
{
return Json(new SelectList(
customers,
"CustomerID",
"CustomerName"), JsonRequestBehavior.AllowGet
);
}
return View(customers);
}
public ActionResult Transact(int cusId)
{
var transact = db.Transactions
.Where(x => x.CustomerID == cusId)
.Where(s => s.ReturnStatus == "FALSE").ToList();
if (HttpContext.Request.IsAjaxRequest())
return Json(new SelectList(
transact,
"TransactionID",
"VideoTitle"), JsonRequestBehavior.AllowGet
);
return View(transact);
}
经过几个小时的试验,我发现了一个解决方案——一个错误。我所做的是在查询中添加了一个联接
var transact = db.Transactions
.Where(x => x.CustomerID == cusId)
.Where(s => s.ReturnStatus == "FALSE")
.Join(db.Videos,
v => v.VideoID,
t => t.VideoID,
(transaction, videos) => new {
TransactionID = transaction.TransactionID,
VideoTitle = videos.VideoTitle }).ToList();
您是否正在获取值transact变量?您的
事务
模型甚至不包含名为VideoTitle
的属性。您甚至还没有显示视图代码。并在JsonResult
中返回一个匿名对象,而不是SelectList
(将SelectListItem
的额外值传递给客户端是毫无意义的。@LateshtClick.com yes bro。感谢您的回复。@StephenMuecke感谢您提供更多信息。