MVC5笔记【一】

时间:2023-03-09 04:07:18
MVC5笔记【一】

MVC5笔记【一】

一.global.asax文件的作用:全局性配置文件

理解什么是路由? 有什么作用: 路由主要提供一个路由表 请求的时候被加载,请求url要去路由表当中去对照 规则 解析规则 控制器/动作放方法,转移控制权。
mvc 流程:
执行过程: 一张图

底层往上写, 第一个写类 model创建类(因为上层调用底层)---- 控制器----需要html中添加与控制器同名的文件命名
----- 默认的 index()不用管----------有同名文件夹在view创建出来---创建aspx

又要然控制器反馈回来呢?
在controller 在 创建方法 控制器返回方法 actionresult + 方法名称
1。接受提交的数据(获取数据
2.强制类型转化 (处理数据 request。parames["sumscore参数名"] form提示根据 name来提交的

3调用模型 处理数据

4.返回视图 前(保存数据)

第一种方法 viewdate【”xxscore“】=”你的平均成绩是多少“ return view();返回与控制器同名的视图 如果 不是同一个名称 则 return view(”文件名“)

C#序列化与反序列化(Serialize,Deserialize)实现方法
如果要保存运行程序过程的数据要么保存到数据库中,要么新建一个普通的文件,然后把数据保存进去.但是这两者有个缺点就是,不能把原有数据的结构也保存进去.比如一个类中的字段值保存进去后再读取出来必须再解析下才行.序列化技术让你省去了解析的过程.保存后再读取时直接得到一个class

二.tempData 在不同控制器中传递数据是非常方便的

保存机制是session 但不同于session
情况1:tempdata保存数据后 如果被使用了 就被清除了
情况2:如果保存了 没有被保存 则他保存时间则跟session一样 时间过了就没了

三.保存数据4种方式:

viewdate 适合当个数据传递 需要类型转换
viewbag 不需要类型转换
tempdata 主要用于跨多个动作方法传递数据
sysadmin objadmin = (sysadmin)tempData["objadmin"];
view()+mode 适合模型数据传递, 不需要类型转换

四.路由的好处

能够根据系统需求,灵活的划分请求规则 不同模块请求的url不一样
屏蔽物理路径,提高系统的安全性
有理由搜索引擎优化,可以将url请求统一规范。页面发生变化 url保存不变

MVC5笔记【一】
自定义多个路由:
如果一个url能够在多个路由中匹配 则默认使用第一个匹配路由

链接数据库
<connectionStrings>
<add name="connString" connectionString="Data Source=(local);Initial Catalog=tx;Persist Security Info=True;User ID=sa;Password=7758258" providerName="System.Data.SqlClient"/>
</connectionStrings>

第九章 分布视图shared 创建视图

===============
@model Models.SysAdmin

@if(Model != null)
{
<label>@Model.AdminName</label>
}
=========动作方法=================
//保存登录状态一直
public ActionResult GetCurrentUser()
{
SysAdmin objAdmin = (SysAdmin)Session["CurrentAdmin"];
return PartialView("LoginedUser", objAdmin);
}
===========页面引用=======================
@html.action("动作方法getcurrent","控制器sysadmin")

(1)@Html.DisplayNameFor(model => model.Title)是显示列名,

(2) @Html.DisplayFor(modelItem => item.Title)是显示列的内容