MVC Controller 与 View 传值

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

控制器(注意第二项,第三项输出结果)

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();
        }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。