我目前正在大学完成一项任务,不久前我不幸失去了一些代码。 特别是我将特定产品显示到特定商店的地方,我的代码不起作用 现在对我来说,帮助将不胜感激
我有一个Web服务和一个本地数据库,Web服务从中提供产品信息 并且本地信息具有商店数据和商店等级数据。
以下是我在细节视图页面上显示的代码。
@model Part1MVC.ViewModels.GradeProductVM
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<fieldset><legend>GradeProductVM</legend>
<div class="display-label">@Html.DisplayNameFor(model => model.Gradeid)</div>
<div class="display-field">@Html.DisplayFor(model => model.Gradeid)</div>
<div class="display-label">@Html.DisplayNameFor(model => model.GradeName)</div>
<div class="display-field">@Html.DisplayFor(model => model.GradeName)</div>
</fieldset>
<div>There are @Model.Products.Count products</div>
@foreach (var prod in Model.Products) { <div>@prod.ProductName</div>}
<p>@Html.ActionLink("Edit", "Edit", new { id=Model.Gradeid }) |
@Html.ActionLink("Back to List", "Index")</p>
//这是service1.cs获取成绩产品的代码
public List<PhysicalProduct> GetProductsForGrade(int gradeid){
var list = new List<PhysicalProduct>();
try {
using (var db = new ProductsEntities()) {
var q = from prod in db.PhysicalProducts
join pg in db.ProductToGrades on prod.ProductId equals pg.ProductId
where pg.StoreGradeId == gradeid
select prod;
return q.ToList();
}
}
catch (Exception ex) {
return null;
}
return list;
}
////这是控制器代码
public ActionResult Details(int id){
Grade grade = db.Grade.SingleOrDefault(x => x.GradeId == id);
//var products = ServiceLayer.GetProducts();
var products = ServiceLayer.GetProductsForGrade(id);
var vm = new ViewModels.GradeProductVM(id, grade.Description, products);
return View(vm);
}
//这是View model Code
public class GradeProductVM {
public int Gradeid { get; set; }
public string GradeName { get; set; }
public List<PhysicalProduct> Products { get; set; }
public GradeProductVM() {
}
public GradeProductVM(int gradeid, string name, List<PhysicalProduct> prods){
Gradeid = gradeid;
GradeName = name;
Products = prods;
}
}
我可以将当前数据库中的所有产品显示到每个商店,但不会显示特定商店的特定产品。
由于
答案 0 :(得分:0)