製品版のみの機能
エディター - フォーム値の保存と読み込み
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
この編集フォームのサンプルでは、複数の igEditor コントロールがあります。エディターの値はサーバーで設定されています。サンプル コードは、[送信] ボタンを押すときに、変更をサーバーに保存します。
コード ビュー
クリップボードへコピー
@using Infragistics.Web.Mvc @using IgniteUI.SamplesBrowser.Models @model IgniteUI.SamplesBrowser.Models.Northwind.Product <!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> </head> <body> <style type="text/css"> td { vertical-align: top; } label { display: block; line-height: 20px; } .mainTable { position: relative; width: 350px; margin-left: -175px; left: 50%; border-collapse: collapse; } .fonts { font-family: Verdana; font-size: 0.8em; } #submitEvent { float: right; height: 30px; margin-top: 10px; } .success { color: #458B00; float: right; } @@media all and (max-width: 400px) { .mainTable { width: 180px; margin-left: -90px; } .mainTable td { float: left; } } </style> <div class="sampleContents"> <div class="sample-container"> @using (Html.BeginForm()) { @Html.HiddenFor(m => m.ID) <table cellpadding="5" cellspacing="0" class="mainTable"> <tr> <td style="vertical-align:top;"> <label class="fonts"> 製品名</label> @(Html.Infragistics().TextEditorFor(m => m.ProductName) .ID("textEditorProductName") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .Render()) </td> <td> <label class="fonts"> 内容量</label> @(Html.Infragistics().NumericEditorFor(m => m.QuantityPerUnit) .ID("numericEditorQuantityPerUnit") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .Render()) </td> </tr> <tr> <td> <label class="fonts"> 単価</label> @(Html.Infragistics().CurrencyEditorFor(m => m.UnitPrice) .ID("currencyEditorUnitPrice") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .MinValue(0) .Render()) </td> <td> <label class="fonts"> 在庫数</label> @(Html.Infragistics().NumericEditorFor(m => m.UnitsInStock) .ID("numericEditorUnitsInStock") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .MinValue(0) .Render()) </td> </tr> <tr> <td> <label class="fonts"> 入荷待ち</label> @(Html.Infragistics().NumericEditorFor(m => m.UnitsOnOrder) .ID("numericEditorUnitsOnOrder") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .MinValue(0) .Render()) </td> <td> <label class="fonts"> 再発注レベル</label> @(Html.Infragistics().NumericEditorFor(m => m.ReorderLevel) .ID("numericEditorReorderLevel") .ValidatorOptions(m => m.Required(true).OnBlur(true).OnSubmit(true)) .Width("160") .MinValue(0) .Render()) <input type="submit" id="submitEvent" value="送信" /> </td> </tr> <tr> <td colspan="2" style="border: none;"> @if (ViewData["message"] != String.Empty) { <span class="success">@ViewData["message"]</span> } </td> </tr> </table> } </div> </div> </body> </html>
using IgniteUI.SamplesBrowser.Models.DataAnnotations; using IgniteUI.SamplesBrowser.Models.Northwind; using IgniteUI.SamplesBrowser.Models.Repositories; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace IgniteUI.SamplesBrowser.Controllers { public class EditorsController : Controller { // // GET: /Editors/ [ActionName("data-annotation-validation")] public ActionResult DataAnnotationValidation() { ValidatedOrder model = new ValidatedOrder(); ViewData["message"] = String.Empty; model.ShipMethodList = this.GetShipMethods(); return View("data-annotation-validation", model); } [HttpPost] [ActionName("data-annotation-validation")] public ActionResult DataAnnotationValidation(ValidatedOrder model) { if (ModelState.IsValid) { ViewData["message"] = "製品を保存しました"; } model.ShipMethodList = this.GetShipMethods(); return View("data-annotation-validation", model); } [ActionName("load-and-save-form-values")] public ActionResult EditProduct() { Product product = RepositoryFactory.GetProductRepository().Get().First(); ViewData["message"] = String.Empty; return View("load-and-save-form-values", product); } [ActionName("text-editor-mvc")] public ActionResult TextEditor() { return View(); } [ActionName("date-editor-mvc")] public ActionResult DateEditor() { return View(); } [ActionName("numeric-editor-mvc")] public ActionResult NumericEditor() { return View(); } [ActionName("mask-editor-mvc")] public ActionResult MaskEditor() { return View(); } public List<SelectListItem> GetShipMethods() { List<SelectListItem> selectList = new List<SelectListItem>() { new SelectListItem { Text = "標準", Value = "Standard" }, new SelectListItem { Text = "1 日", Value = "OneDay" }, new SelectListItem { Text = "2 日", Value = "TwoDay" }, new SelectListItem { Text = "海外発送", Value = "International" } }; return selectList; } } }
using IgniteUI.SamplesBrowser.Models.Repositories; using System; namespace IgniteUI.SamplesBrowser.Models.Northwind { public class Product { public int ID { get; set; } public string ProductName { get; set; } public Nullable<int> SupplierID { get; set; } public Nullable<int> CategoryID { get; set; } public string QuantityPerUnit { get; set; } public Nullable<decimal> UnitPrice { get; set; } public Nullable<short> UnitsInStock { get; set; } public Nullable<short> UnitsOnOrder { get; set; } public Nullable<short> ReorderLevel { get; set; } public string SupplierName { get; set; } public string CategoryName { get; set; } public int Rating { get; set; } public bool Discontinued { get; set; } public string CategoryImageUrl { get; set; } } }