文章的目的为了记录.net mvc学习的经历。本职为嵌入式软件开发,公司安排开发文件系统,临时进行学习开发,系统上线3年未出没有大问题。开发流程和要点有些记忆模糊,赶紧记录,防止忘记。
嵌入式 .net mvc 开发(一)WEB搭建-CSDN博客
嵌入式 .net mvc 开发(二)网站快速搭建-CSDN博客
嵌入式 .net mvc 开发(三)网站内外网访问-CSDN博客
嵌入式 .net mvc 开发(四)工程结构、页面提交显示-CSDN博客
在前面3个章节里,完成了浏览器静态页面的显示、网站数据库的增删改查、最终内外网访问的办法。
本章主要的内容如下:
1.工程文件结构介绍
2.数据提交、页面显示
3.控制器和页面之间的变量传输
4.以上3个内容掌握后,基本就可以实现创建网站或Erp(B/S)。
一、工程结构
- 左边红框中AppData文件夹中为数据库文件。右边红框中为连接的数据库表,通过双击数据库表或者右键可以直接操作数据库。
- AppStart文件夹中 RouteConfig.cs为路由文件。图中间红框处可以设置服务器运行时的首页面。
- Controllers文件夹中为控制器文件,View文件夹中为视图文件。每个控制器文件与视图文件夹对应。
- Models文件夹中,Tables.cs为数据库表的模型,Model.cs连接上下文。数据库创建或修改后可以使用EF直接生成。
- Scripts文件夹中,多为脚本文件,前端的脚本通常放在这里。
- Views文件夹中,为视图页面。文件夹与控制器相互对应。share文件夹中的_Layout.cshtml比较特殊,这个视图在每个视图页面中都会有。
- Global.asax是ASP.NET Web应用程序的全局文件,它包含了应用程序级别的事件处理程序,允许开发人员在应用程序的生命周期中执行特定的逻辑。这个文件在应用程序启动时被自动调用,并且可以用于执行一系列的初始化操作以及事件处理。比如定时程序就可以放在该文件执行。
- Web.config为配置文件,数据库连接上下文就在此处。标红位置可以进行修改。
二、数据提交
比如创建数据项就是数据提交,仿真可以看到流程:我们点击创建页面(输入/Tables/Create),程序会跳转到TablesControl的Create()函数,将会返回 view(),将会显示Create.cshtml,在Create.cshtml页面中我们填入Name和Age,点击Create提交后,程序会跳转到Create([Bind(Include = "Id,Name,Age")] Table table)函数中实现数据的提交。
1.基于数据模型提交
Create.cshtml
TablesControl.cs
2.基于Form提交
Create.cshtml
TabelsControl
三、控制器之间的变量传输
在ASP.NET MVC中,页面间Controller与View之间主要有以下几种小量数据的传值方式:ViewData、ViewBag、TempData和Session变量。
Session是用的最多的,在整个会话期间会存在,这里只讲Session的赋值和获取。
控制器中Session["test"]赋值
cshtml中获取Session["test"]的值