首页 > 代码库 > MVC 强类型ViewData[] TempData[]

MVC 强类型ViewData[] TempData[]

一、ViewData[]

//赋值
ViewData["u"]="";
//取值
数据类型 u= ViewData["u"] as 数据类型  //数据类型强转

 

二、ViewBag

           Users u = new Users();
            //赋值
            ViewBag.hehe = u;//hehe是自己随意起的名称
            //取值
            Users u = ViewBag.hehe as Users;//强转数据类型

 

三、TempData[]

像Session一样使用,效果和Session一样,是全局变量
区别是:只要取一遍值,就会自动销毁

四、

控制器中的View()方法可以给视图层传值,比如Users类

注意:在视图层中

(1)在页面头部先声明model的类型@model Users

(2)在页面中使用时直接"Mode”.属性“来取值

在控制器中传值

技术分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication6.Models;

namespace MvcApplication6.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }
        public ActionResult update(string id)
        {
            Users u=new UsersData().dan(id);
            //if(u!=null)
            //{
            //    ViewData["u"] = u;
            
            //}
            
            return View(u);//强类型传值
        
        }
        public ActionResult update1(Users u)
        {
            new UsersData().update(u);
            return RedirectToAction("Index","Home");

           
        }

        




    }
}
View Code

 

在视图层中使用(注意上面的(1)(2))

技术分享
@{
    Layout = null;
}
@using MvcApplication6.Models;
@model Users  
@*注意model中的”m“是小写,提示是大写,此处必须是小写*@
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>update</title>
</head>
<body>
    <div>
        @{using(Html.BeginForm("update1","Home",FormMethod.Post))      
        {
            Users u=ViewData["u"] as Users;
        @:姓名<input type="text" name="username" value=http://www.mamicode.com/"@Model.UserName" /><br /><br />
        @:密码<input type="text" name="password" value=http://www.mamicode.com/"@Model.Password" /><br /><br />
        @:昵称<input type="text" name="nickname" value=http://www.mamicode.com/"@Model.NickName" /><br /><br />
        @:性别<input type="text" name="sex" value=http://www.mamicode.com/"@Model.Sex" /><br /><br />
        @:生日<input type="text" name="birthday" value=http://www.mamicode.com/"@Model.Birthday" /><br /><br />
        @:民族<input type="text" name="nation" value=http://www.mamicode.com/"@Model.Nation1.NationName" /><br /><br />
        <input type="submit"  value=http://www.mamicode.com/"确定修改" />
        }
        }
        
    </div>
</body>
</html>
View Code

完!!

 

MVC 强类型ViewData[] TempData[]