MVC ControllerとView転送
12893 ワード
ControllerからView
1強タイプ
せいぎょそうち
表示
2 ViewBag,ViewData,TempData
コントローラ(2番目、3番目の出力結果に注意)
表示
ViewからControllerへ
1 QueryString
表示
せいぎょそうち
2 Post
表示
せいぎょそうち
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();
}