public ActionResult Index()
{
var pr = db.products;
return View(pr);
}
首先 - 我想传递给视图更多数据 - 例如:
public ActionResult Index()
{
var pr = db.products;
var lr = db.linksforproducts(2)
return View(pr,lr);
}
我如何阅读lr
视图中的数据?
其次 - 在视图上我有一个产品表,我想向表中添加一个包含该产品所有标签的列。如何获取每个产品的标签?
现在我创建这个代码
public class catnewModel
{
public IQueryable<category> dl { get; set; }
public IQueryable<product> dr { get; set; }
}
和我的控制器
public ActionResult Index()
{
var pr = db.products;
var pl = db.categories;
catnewModel model = new catnewModel();
model.dr = pr;
model.dl = pl;
return View(model);
}
在我看来,我尝试迭代
<% foreach (var item in Model.dr) %>
但我收到错误
error CS1061: 'System.Collections.Generic.IEnumerable<amief.Models.catnewModel>' does not contain a definition for 'dr' and no extension method
我通过创建一个特定于您需要其中信息的视图的 ViewModel 来完成此操作。
然后在该 ViewModel 中只有属性来容纳其他模型。
像这样的事情:
public class ViewModel
{
public List<ProductModel> Products(){get; set;}
public List<LinksForProductModel> LinksForProducts(){get; set;}
}
public ActionResult Index()
{
var pr = db.products;
var lr = db.linksforproducts(2)
ViewModel model = new ViewModel();
model.Products = pr;
model.LinksForProducts = lr;
return View(model);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)