私はオンラインストアを構築しており、現在2つのモデルで作業しています。 Shirt
モデルは、現在表示されているTシャツ(写真、説明、基本価格、サイズ)に関するすべての詳細を表示します。 Order
モデルは、ユーザーが選択したすべてのアイテムのサイズと数量です。現在、私のためのコントローラのPOSTメソッドでは、私は、ユーザーにシャツのモデルからの情報を表示するには、次があります。1つのモデルを取得して別のモデルに正しく投稿するにはどうすればよいですか?
[AuthLog(Roles="Registered Users, Administrators")]
public ActionResult Index(int? id, Shirt shirt)
{
var result = (from s in db.Shirts where s.SiteActive == true select s).ToList();
id = (from s in result select s.Id).First();
var sCount = result.Count();
ViewBag.TabTitle = null;
ViewBag.ShirtSizeId = new SelectList(db.ShirtSizes, "Id", "Name");
ViewBag.ShirtQuantityId = new SelectList(db.ShirtQuantities, "Id", "Name");
if (sCount >= 1)
{
shirt = db.Shirts.Include(s => s.Files).SingleOrDefault(s => s.Id == id);
var TabTitle = (from s in result select s.TabName).First();
var TabContent = (from s in result select s.Caption).First();
var TabPrice = (from s in result select s.Price).First();
ViewBag.TabTitle = TabTitle;
ViewBag.TabContent = TabContent;
ViewBag.TabPrice = TabPrice;
}
return View(shirt);
}
を、ビューで、私はあることを
@model TShirtEmpAdmin.Models.Shirt
を持っています販売するためのアイテムを表示することができる。しかし、私はまた、ユーザーが選択した情報quantity
とsize
をordersテーブルに投稿する必要があります。しかし、私は、ビューの2つのモデルを持つことはできませんし、私はこのようなビューモデルにそれらを組み合わせてみました:
public class ShirtOrderViewModel
{
public virtual<Shirt> Shirts { get; set; }
public virtual<Order> Orders { get; set; }
}
けど、次のエラー:
は、暗黙的にViewModelに
にタイプのモデルを変換できません。
ビューのモデルをShirtsOrderViewModelに更新し、そのタイプのオブジェクトをアクションから返しましたか? –
シャツ "List"のリストを作成することを意味しましたか、Shirtsの仮想ですか?同じ質問が注文に適用されます。 –
@AliBaigはい、私は、エラーの原因となったのです – Skullomania