public ActionResult Index()
{
var pr = db.products;
return View(pr);
}
Run Code Online (Sandbox Code Playgroud)
首先 - 我想传递更多数据 - 例如:
public ActionResult Index()
{
var pr = db.products;
var lr = db.linksforproducts(2)
return View(pr,lr);
}
Run Code Online (Sandbox Code Playgroud)
如何读取lr视图中的数据?
其次 - 在视图中我有一个产品表,我想在表中添加一个包含此产品所有标签的列.如何获取每种产品的标签?
现在我创建这个代码
public class catnewModel
{
public IQueryable<category> dl { get; set; }
public IQueryable<product> dr { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
和我的控制器
public ActionResult Index()
{
var pr = db.products;
var pl = db.categories;
catnewModel model = new catnewModel();
model.dr = pr;
model.dl = pl;
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
在我看来,我试图迭代
<% foreach (var item in Model.dr) %>
Run Code Online (Sandbox Code Playgroud)
但我得到错误
error CS1061: 'System.Collections.Generic.IEnumerable<amief.Models.catnewModel>' does not contain a definition for 'dr' and no extension method
Run Code Online (Sandbox Code Playgroud)
我通过制作特定于您需要信息的视图的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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5711 次 |
| 最近记录: |