на самом деле его не два ViewModel в моем случае только один, но я пытаюсь передать одно значение продукта, а затем список продуктов ниже мой контроллер, так что вы можете лучше понятьКак передать два ViewModel данных для просмотра
public ActionResult Filter(long? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
//select a single product
ProductViewModel products = new ProductViewModel();
var pro = db.Products.Find(id);
if (pro != null)
{
products.ProductId = pro.ProductId;
products.ProductName = pro.ProductName;
products.AddDate = pro.AddDate;
products.ApplicationUserId = pro.ApplicationUserId;
products.ProductDescription = pro.ProductDescription;
products.ProductPictures = db.ProductPictures.Where(m => m.ProductId == id).ToList();
}
//Now creating list
ProductViewModel product = new ProductViewModel();
var pictures = db.ProductPictures;
var model = db.Products.Where(p=>p.ApplicationUserId==User.Identity.GetUserId()).Select(p => new ProductViewModel
{
ProductId = p.ProductId,
ProductName = p.ProductName,
ProductDescription = p.ProductDescription,
ProductPictures = pictures.Where(x => x.ProductId == p.ProductId),
Category = p.Category,
AddDate = p.AddDate,
ApplicationUserId = p.ApplicationUserId,
});
return View(model);
}
, но как я могу передать оба значения в представлении я попытался viewbag для одного продукта, как
ViewBag.ProductId = pro.ProductId;
ViewBag.ProductName = pro.ProductName;
ViewBag.AddDate = pro.AddDate;
ViewBag.ApplicationUserId = pro.ApplicationUserId;
ViewBag.ProductDescription = pro.ProductDescription;
ViewBag.ProductPictures = db.ProductPictures.Where(m => m.ProductId == id).ToList();
ViewBag.idd = pro.ProductId;
, но не знаете, как получить значение списка Viewbag.productpicture ввиду бритвой. и это хороший способ передать значение с помощью viewbag или есть ли какой-либо другой метод?
Создайте модель с 2 свойствами 'ProductViewModel Product' и' IEnumerable ProductList' и верните их в представление –
Еще раз спасибо stephan, отправьте это в ответ, чтобы я мог отметить это как ответ. –
Ответ добавлен для ответа на вопрос, но ваш код подсказывает, что вам может потребоваться изменить один «Продукт», и на той же странице также отображается список всех «Продуктов», и в этом случае это может оказаться не лучшим решением. –