ASP.NET MVC重点教程1周年版第3回ControllerとView

7868 ワード

この節ではASP.NET MVCが本格的に走り出す
一、新規コントローラ
まず私達は自分で1つの新しいControllerを新しくしてControllersの上で右クリックして、追加して、Controllerのオプション
imageの後にダイアログが表示されます.
imageここではEiceControllerと名付けました.ここは純粋な広告です.興味がありません.この行を省略してください.http://www.cnblogs.com/chsword/admin/www.eice.com.cnはWeb 2を構築します.0ソーシャル・ネットワーク・サービス(SNS)のデフォルトのコードは次のとおりです.
    //         ,  Controller     Controller 

    public class EiceController : Controller

    {

        public ActionResult Index()

        {

            return View();

        }

    }

二、新しいViewファイル
もちろん、Controller以外にもViewを作成し、まずViewにEiceフォルダを作成し、その中にIndexを作成します.aspx.
ただしそれ以外はASP.NET MVCは、新しいViewのショートカットも提供しています.
対応するControllerのActionで右クリックし、Add Viewを選択します.
image  
その後、ポップアップウィンドウ
image
Viewファイルの名前とマスターファイルを確定したら、AddをクリックしてViewファイルを作成します.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

	Index

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Index</h2>

</asp:Content>

 
 
マスターページを作成するにはselect master pageをチェックすればいいです.
三、Controller、Viewを編集して簡単なページ転送を完成する
EiceControllerのIndexを
    public class EiceController : Controller

    {

        public ActionResult Index(string id)

        {

            ViewData["chsword"] = id;

            return View();

        }

    }

Viewファイルでは/Views/Eice/Index.aspxで書き換え
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">

	Index

</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<%=ViewData["chsword"] %>

</asp:Content>

次に、/Eice/Index/HellowEiceにアクセスします.
image
これにより、UrlからControllerに値が転送され、ControllerからViewに値が表示されます.
以上のセグメントからアクションのパラメータstring idが{Controller}/{Action}/{id}を受信するためのID部分であることがわかる
ViewDataはページ間のIDictionaryであり、ControllerがViewにデータを転送するために使用されます.これにより、ViewとControllerが協力してページの表示と論理処理を完了できます.
 
では、ViewData以外にControllerからViewファイルに値を渡す方法はありますか?aspxファイルのほかに他のファイルを表示できますか?