.Net MVC个人笔记

前言

写了一个.Net MVC的个人笔记,但是不是MarkDown,好难受,博客园也不支持以前的旧文章转MarkDown,以后有时间看看能不能整理一下,这次新开一个MarkDown的

母版页节点

在母版页的footer里面写

<footer>    
     @RenderSection("Footer")
</footer>

然后在子页中写

@section Footer{
    <h3>大家好,我是脚</h3>
}

这样就可以把子页的内容放到母版页的节点位置了

Controller将数据传给View的方式

ViewBag和ViewData共享数据

 public ActionResult Index () {
     ViewBag.UserName = "小李飞刀";
     ViewData["UserName"] = "陆小凤";
     TempData["UserName"] = "楚留香"; //临时数据

     User model = new User { UserName = "谢晓峰" };

     return View (model); //这行代码其实就相当于ViewData.Model=model
 }

View代码

@{
    ViewBag.Title = "Index";
}

<div>@ViewBag.UserName </div>
<div>@ViewData["UserName"] </div>
<div>@TempData["UserName"] </div>
<div>@Model.UserName</div>

结果是:

陆小凤

陆小凤

楚留香

谢晓峰

原因是ViewData和ViewBag本质上都是【ViewDataDictionary】类型,并且两者之间的数据共享,只不过提供了不同的语法操作方式而已。所以“陆小凤”覆盖了原先的值”小李飞刀“。

TempData使用一次之后会立即删除数据

至于Model,在视图里面可以直接使用@Model.username进行使用,但是你会发现没有提示,这个是因为编译器无法在编译的时候获取Model的类型,如果想要提示可以这样做,在视图的上面写上@model是user类型的

@model    User

猜你喜欢

转载自www.cnblogs.com/yunquan/p/11085441.html
今日推荐