MVC ControllerとView転送

12893 ワード

ControllerからView
1強タイプ
せいぎょそうち
        // GET: /Test/

        public ActionResult Index()

        {

            DateTime date = DateTime.Now;  //            

            return View(date);

        }

表示
@model DateTime

@{

ViewBag.Title = "Index";

}

<h2>Index</h2>

<h2>The time is: @Model.ToString("yyyy MM dd  HH:mm:ss");</h2>

<h2>The day is: @(((DateTime)Model).DayOfWeek)  </h2>

<h2>The day is: @Html.TextBoxFor(m=>m.DayOfYear)</h2>

2  ViewBag,ViewData,TempData
コントローラ(2番目、3番目の出力結果に注意)
public ActionResult TempDataTest()

        {

            TempData["Message"] = "TempData Message";

            ViewData["Message"] = "ViewData Message";

            ViewBag.Mesaage = "ViewBag Message";

            ViewBag.Info = "ViewBag Message";

            return View();

        }

表示
@{

    ViewBag.Title = "TempDataTest";

}



<h2>TempDataTest</h2>

<h2>@TempData["Message"]</h2>

<h2>@ViewData["Message"]</h2>

<h2>@ViewBag.Message</h2>

<h2>@ViewBag.Info</h2>

ViewからControllerへ
1 QueryString
表示
@{

    ViewBag.Title = "QueryStringTest";

}

<h2>@ViewData["Message"]</h2>



<h2>QueryStringTest</h2>



<h2> @Html.ActionLink("TestController", "QueryStringTest", new { word = "word" }) </h2>

せいぎょそうち
public ActionResult QueryStringTest(string Word)

        {

            ViewData["Message"] = Request.QueryString["Word"];

            ViewData["Message1"] = Word;

            return View();

        }

2 Post
表示
@{

    ViewBag.Title = "PostTest";

}



<h2>PostTest</h2>

<h2>@TempData["Message"]</h2>

<div>

    //   
    <form action="/Test/PostTest" method="post">

        <ul>

            <li>   :<input type="text" value="" name="UserName" /></li>

            <li>    :<input type="text" value="" name="Password" /></li>

        </ul>

        <input type="submit" value="  " />

    </form>
    //   

    @using (Html.BeginForm("PostTest", "Test", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))

    {

        @Html.AntiForgeryToken()

        <p>

            <div class="form-group">

                @Html.Label("   ", new { @class = "col-md-2 control-label" })

                <div class="col-md-10">

                    @Html.TextBox("username", "", new { @class = "form-control" })

                </div>

            </div>

            <div class="form-group">

                @Html.Label("  ", new { @class = "col-md-2 control-label" })

                <div class="col-md-10">

                    @Html.TextBox("Password", "", new { @class = "form-control" })

                </div>

            </div>

            <div class="form-group">

                <div class="col-md-offset-2 col-md-10">

                    <input type="submit" value="  " class="btn btn-default" />

                </div>

            </div>

        </p>

    }

</div>

せいぎょそうち
public ActionResult PostTest()

        {

            return View();

        }



        [HttpPost]

        public ActionResult PostTest(string UserName, string Password)

        {

            TempData["Message"]= "username ="+UserName +"  Password="+Password;



            return View();

        }