ASP.NET MVCのComponentOne Inputコントロールをスキャフォールディングする手順は、次のとおりです。
ソリューションエクスプローラーで、プロジェクト名を右クリックし、[追加]→[新規スキャフォールディングアイテム]を選択します。[スキャフォールディングを追加]ウィザードが表示されます。
[スキャフォールディングを追加]ウィザードで、[共通]を選択し、右ペインからC1 スキャフォールダーを選択します。
[共通]→[MVC]→[コントローラー]、または[共通]→[MVC]→[ビュー]を選択し、C1 スキャフォールダーを選択して、コントローラーまたはビューだけを追加することもできます。
[追加]をクリックします。
Inputコントロールを選択し、[次へ]を選択します。
[C1 ASP.NET MVC Input]ウィザードが表示され、デフォルトで[全般]タブが選択されます。
[全般]タブで、モデルを次のように指定します。
Input1Controller.cs |
コードのコピー
|
---|---|
using System; using System.Collections.Generic; using System.Linq; using C1.Web.Mvc; using C1.Web.Mvc.Serializition; using System.Web; using System.Data; using System.Web.Mvc; using System.Data.Entity; // このコードは、C1スキャフォールダによって生成しました。 namespace C1MvcWebAppScaffolding.Controllers { public partial class Input2Controller : Controller { private C1MvcWebAppScaffolding.Models. C1NWindEntities db = new C1MvcWebAppScaffolding. Models.C1NWindEntities(); public ActionResult Index() { var model = db.Products; return View(model); } public ActionResult Details(int key1) { var model = db.Products.Find(key1); if (model == null) { return HttpNotFound(); } return View(model); } public ActionResult Create() { return View(); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "ProductID,ProductName,SupplierID,CategoryID, QuantityPerUnit,UnitPrice,UnitsInStock, UnitsOnOrder,ReorderLevel,Discontinued")] C1MvcWebAppScaffolding.Models.Product product) { if (ModelState.IsValid) { db.Products.Add(product); db.SaveChanges(); return RedirectToAction("Index"); } return View(product); } public ActionResult Edit(int key1) { var model = db.Products.Find(key1); if (model == null) { return HttpNotFound(); } return View(model); } [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = "ProductID,ProductName,SupplierID,CategoryID, QuantityPerUnit,UnitPrice,UnitsInStock, UnitsOnOrder,ReorderLevel,Discontinued")] C1MvcWebAppScaffolding.Models.Product product) { if (ModelState.IsValid) { db.Entry(product).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(product); } public ActionResult Delete(int key1) { var model = db.Products.Find(key1); if (model == null) { return HttpNotFound(); } return View(model); } [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int key1) { var model = db.Products.Find(key1); db.Products.Remove(model); db.SaveChanges(); return RedirectToAction("Index"); } protected override void Dispose(bool disposing) { if (disposing) { db.Dispose(); } base.Dispose(disposing); } } } |
5つのビューに対して生成されるコードは、次のようになります。
HTML Helpers