ASP.NET MVC 4初心者入門チュートリアルの6---6.ビューの編集と編集方法
20596 ワード
このセクションでは、ムービーコントローラの生成された操作方法とビューを確認します.次に、カスタム検索ページを追加します.
アプリケーションを実行し、ブラウザのアドレスバーに/Moviesを追加したURLを参照します.編集リンクにマウスポインタを置き、リンク先のURLを表示します.
リンクを編集する方法は、ViewsMoviesIndexで
上の図に示す生成されたリンクはhttp://localhost:xxxxx/映画/編集/4.デフォルトのルーティング(App_StartRouteConfig.csで確立)は、URLモード
クエリー文字列の操作方法パラメータを使用することもできます.例えば、URLhttp://localhost:xxxxx/映画/編集?ID=4はまた、パラメータ
通知された2番目の
構築されたコードで使用されるヘルプメソッドのいくつかの簡略化されたHTMLタグ.
アプリケーションを実行し、/Movies URLにナビゲートします.「編集」リンクをクリックします.ブラウザでWebページのソースコードを表示します.以下に示すHTMLフォーム要素.
アプリケーションを実行し、ブラウザのアドレスバーに/Moviesを追加したURLを参照します.編集リンクにマウスポインタを置き、リンク先のURLを表示します.
リンクを編集する方法は、ViewsMoviesIndexで
Movies
です.cshtmlビューで生成された:@Html.ActionLink("Edit", "Edit", new { id=item.ID })
Html.ActionLink
オブジェクトはヘルプであり、Systemを露出する使用される.Web.Mvc.WebViewPageベースクラスのプロパティ.ヘルプのHtml
メソッドは、HTMLハイパーリンクがコントローラにリンクされた操作メソッドを動的に生成するのに便利です. ActionLink
メソッドの最初のパラメータは、提示されるリンクテキスト(例えば、ActionLink
)である.2番目のパラメータは、呼び出す操作メソッドの名前です.最後のパラメータは匿名オブジェクトであり、ルーティングデータ(この例ではID 4)を生成する.上の図に示す生成されたリンクはhttp://localhost:xxxxx/映画/編集/4.デフォルトのルーティング(App_StartRouteConfig.csで確立)は、URLモード
Edit Me
を使用します.従って、ASP.NET会http://localhost:xxxxx/映画/編集/4は、{controller}/{action}/{id}
コントローラパラメータMovies
が4に等しいID
の動作方法の要求に変換される.App_の確認Start\RouteConfig.csファイルの次のコード.public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
クエリー文字列の操作方法パラメータを使用することもできます.例えば、URLhttp://localhost:xxxxx/映画/編集?ID=4はまた、パラメータ
Edit
が4であることをMovies
コントローラのEdit
動作方法に伝達する.ID
コントローラを開きます.2つのMovies
の動作方法は以下の通りである.//
// GET: /Movies/Edit/5
public ActionResult Edit(int id = 0) { Movie movie = db.Movies.Find(id); if (movie == null) { return HttpNotFound(); } return View(movie); } // // POST: /Movies/Edit/5 [HttpPost] public ActionResult Edit(Movie movie) { if (ModelState.IsValid) { db.Entry(movie).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(movie); }
通知された2番目の
Edit
操作方法の前のEdit
属性.この属性は、オーバーロードされた HttpPost
メソッドがPOSTリクエストのみを呼び出すことができることを指定します.Edit
プロパティを最初の編集方法に適用できますが、デフォルト値であるため必要ありません.( HttpGet
メソッドとしてHttpGet
プロパティを暗黙的に割り当てる動作メソッドを参照する).HttpGet
HttpGet
メソッドは、映画IDパラメータを取得し、実体フレームEdit
メソッドを使用して映画を検索し、編集ビューの選択された映画に戻る.IDパラメータは、パラメータなしでFind
のメソッドを呼び出す場合、デフォルト値がゼロであることを指定します.映画が見つからない場合は、HttpNotFoundに戻ります.足場システムが編集ビューを作成すると、Edit
課をレビューし、Movie
および
要素の各クラスの属性を示すコードを作成します.次の例では、生成された編集ビューを示します.@model MvcMovie.Models.Movie
@{
ViewBag.Title = "Edit";
}
Edit
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
} @Html.ActionLink("Back to List", "Index") @section Scripts { @Scripts.Render("~/bundles/jqueryval") }
文をファイルの上部にどのように配置するかをビューテンプレートに通知します.これにより、ビューが予想するモデルビューテンプレートタイプ@model MvcMovie.Models.Movie
が指定されます.構築されたコードで使用されるヘルプメソッドのいくつかの簡略化されたHTMLタグ.
Movie
ヘルプには、フィールド(タイトル、ReleaseDate、流派、または価格)の名前が表示されます.Html.LabelFor
ヘルパーはHTML Html.EditorFor
要素を表示します.
ヘルプには、このプロパティに関連付けられた認証メッセージが表示されます.アプリケーションを実行し、/Movies URLにナビゲートします.「編集」リンクをクリックします.ブラウザでWebページのソースコードを表示します.以下に示すHTMLフォーム要素.