C# 如何在ModelView中添加另一个值并从操作中传递它
在my Products PartialView表中C# 如何在ModelView中添加另一个值并从操作中传递它,c#,asp.net,asp.net-mvc,entity-framework,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Entity Framework,Asp.net Mvc 4,在my Products PartialView表中 @model IEnumerable<Products.Models.ProductModelView> 有人能帮我制定我的类、视图模型和我的操作吗?创建一个“复合”对象,并将其传递(按照@Uwe): 或者构造并传递IEnumerable products到return PertialView(): 或执行直接联接: var products = from p in context.Products
@model IEnumerable<Products.Models.ProductModelView>
有人能帮我制定我的类、视图模型和我的操作吗?创建一个“复合”对象,并将其传递(按照@Uwe):
或者构造并传递IEnumerable products
到return PertialView()
:
或执行直接联接:
var products = from p in context.Products
join u in context.User on p.UserDepartmentId = u.UserDepartmentId // or whatever it is
where u.UserName == userName // it's better to use userId which is likely the primary key
select p;
创建一个“复合”对象并传递它(按照@Uwe):
或者构造并传递IEnumerable products
到return PertialView()
:
或执行直接联接:
var products = from p in context.Products
join u in context.User on p.UserDepartmentId = u.UserDepartmentId // or whatever it is
where u.UserName == userName // it's better to use userId which is likely the primary key
select p;
您的视图需要
IEnumerable
,您正在传递类型为ProductModelView
?@adiga感谢您的响应。不,我只是打错了。我的意思是IEnumerable,但我仍然不知道如何传递这些值,而是创建一个“复合”对象并传递它。您仍然在传递一个类型为ProductModelView
的对象。但是您的视图需要一个ProductModelView
s的集合。因此,在控制器中,您必须创建ProductModelView
列表并传递该列表。您的视图需要IEnumerable
,您传递的对象类型为ProductModelView
?@adiga感谢您的回复。不,我只是打错了。我的意思是IEnumerable,但我仍然不知道如何传递这些值,而是创建一个“复合”对象并传递它。您仍然在传递一个类型为ProductModelView
的对象。但是您的视图需要一个ProductModelView
s的集合。因此,在控制器中,必须创建ProductModelView
的列表并传递该.Greate。。非常感谢你!大。。非常感谢你!
public class ProductListViewModel
{
public IEnumerable<ProductModelView> Products { get; set; }
}
@model ProductListViewModel
// IQueryable<Product>
var products = from p in context.Products
where p.DepartmentId == depId // aware! would cause 2 queries to db, shall be rewritten
select p;
var prModels = from p in products.AsEnumerable() // 'memorize' db query into in-memory objects
select new ProductViewModel
{
ProductId = p.ProductId,
ProductName = p.productName,
DepartmentId = p.DepartmentId;
UserDepartmentId = deptId;
};
return return PartialView("_ProductList", prModels);
public class Product
{
public User { get; set; }
}
var products = from p in context.Products
join u in context.User on p.UserDepartmentId = u.UserDepartmentId // or whatever it is
where u.UserName == userName // it's better to use userId which is likely the primary key
select p;