正式学习MVC 02
1、cookie
继续讲解MVC的内置对象cookie
相对不安全
1)保存cookie
public ActionResult Index()
{
// 设置cookie以及过期时间
Response.Cookies.Add(new HttpCookie(name: "userId")
{
Value = "128idn62dx",
Expires = DateTime.Now.AddDays()
});
return Content("ok!");
}
2) 获取cookie
public ActionResult Index()
{ return Content(Request.Cookies["userId"].Value);
}
3)移除cookie
public ActionResult Index()
{
// 设置cookie以及过期时间
Response.Cookies.Add(new HttpCookie(name: "userId")
{
Expires = DateTime.Now.AddDays(-)
});
return Content("ok!");
}
2、Application
1) 是全局的
设置application
public ActionResult Index()
{
HttpContext.Application["user"] = "Linda";
return Content(HttpContext.Application["user"].ToString());
}
3、Server
包含了服务器的常用方法
public ActionResult Index()
{
Server.Transfer(path: "html页地址");
return Content("ok");
}
路径不变,内容改变
.MapPath 虚拟路径转物理路径
2、控制器(controller)与视图(view)的数据通信
Controller里面每个方法都可供访问
1) Controller => view
①ViewBag
控制器文件
public ActionResult Index()
{
ViewBag.Info = "info from Controller";
return View();
}
视图文件
 @{
     ViewBag.Title = "Index";
 }
     <h2>App Page for DemoController</h2>
     <!--访问Controller内数据-->
     <p>@ViewBag.Info</p>
②ViewData
public ActionResult Index()
{
ViewData["Name"] = "fiona";
return View();
}
@{
    ViewBag.Title = "Index";
}
    <h2>App Page for DemoController</h2>
    <!--访问Controller内数据-->
    <p>@ViewData["Name"]</p>
③TempData
可跨页面传递数据,仅能被访问一次,之后会被清除
public ActionResult Index()
{
TempData["token"] = "23vf5c";
return View();
}
@{
    ViewBag.Title = "Index";
}
    <h2>App Page for DemoController</h2>
    <!--访问Controller内数据-->
    <p>@TempData["token"]</p>
上面3中方法传递的都是不主要的数据
主要的数据通过下面的方法传递
④通过View方法传递
 @{
     ViewBag.Title = "Index";
 }
 <h2>App Page for DemoController</h2>
 <!--访问Controller内数据-->
 <p>@Model.Name</p>
 <p>@Model.Sex</p>
public ActionResult Index()
{
return View(new Animal()
{
Name = "cat",
Sex = "male"
});
}
ide不能进行识别来提示,可声明
@{
    ViewBag.Title = "Index";
}
@model MVCStudy.Models.Animal
<h2>App Page for DemoController</h2>
<!--访问Controller内数据-->
<p>@Model.Name</p>
<p>@Model.Sex</p>
Model内的类型要与View方法参数内的一致
其它方式:指定视图页并传参
public ActionResult Index()
{
return View("ShowData",new Animal()
{
Name = "cat",
Sex = "male"
});
}
@{
    Page.Title = "此处显示标题";
    //Layout = "此处显示你的布局页";
}
@model MVCStudy.Models.Animal
<div>
    this iss ShowData page
</div>
<div> data from democontroller</div>
<p>@Model.Name</p>
<p>@Model.Sex</p>
同时指定布局模板,下面的mylayout位于shared目录下
public ActionResult Index()
{
// 视图名,模板页,数据
return View("ShowData",masterName:"_MyLayout",new Animal()
{
Name = "cat",
Sex = "male"
});
}
------------恢复内容结束------------
正式学习MVC 02的更多相关文章
- 正式学习MVC 01
		
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...
 - 正式学习MVC 05
		
1.剃须刀模板razor的使用 1)混编 循环语法 @model List<MVCStudy.Models.Student> @{ ViewBag.Title = "List&q ...
 - 正式学习MVC 06
		
1.Model常用属性讲解 using System; using System.ComponentModel.DataAnnotations; namespace MVCStudy2.Models ...
 - 正式学习MVC 04
		
1.ActionResult ActionResult是一个父类, 子类包括了我们熟知的 ViewResult 返回相应的视图 ContentResult 返回字符串 RedirectResult( ...
 - 正式学习MVC 03
		
1.View -> Controller的数据通信 1) 通过url查询字符串 public ActionResult Index(string user) { return Content(u ...
 - 白话学习MVC(十)View的呈现二
		
本节将接着<白话学习MVC(九)View的呈现一>来继续对ViewResult的详细执行过程进行分析! 9.ViewResult ViewResult将视图页的内容响应给客户端! 由于Vi ...
 - 学习MVC之租房网站(二)-框架搭建及准备工作
		
在上一篇<学习MVC之租房网站(一)-项目概况>中,确定了UI+Service的“双层”架构,并据此建立了项目 接下来要编写Common类库.配置AdminWeb和FrontWeb 一.编 ...
 - [eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置
		
[eShopOnContainers 学习系列] - 02 - vs 2017 开发环境配置 https://github.com/dotnet-architecture/eShopOnContain ...
 - 软件测试之loadrunner学习笔记-02集合点
		
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
 
随机推荐
- QT程序中显示中文字体解决办法
			
Qt4.7.1 默认没有中文字体库,迅为给用户提供“文泉驿”字体和配置方法.本节需要的 文件在网盘: 用一个简单测试程序说明“文泉驿”字体的配置方法. 在 Qt Creater 新建工程“nihao” ...
 - facebook第三方登陆(使用sharedSDK)无法加载网址:这个URL的域名未包含应用的域名
			
http://bbs.mob.com/forum.php?mod=viewthread&tid=8134&extra=page%3D1
 - window下mysql安装步骤
			
1. 官网下载mysql zip包 2. 解压后再D:\database\mysql\mysql-5.7.26-winx64下添加my.ini文件,文件内容如下: [mysql]# 设置mysql客户 ...
 - PLC常见四大故障及其处理方法
			
众所周知,PLC即可编程控制器,是一种专门为在工业环境下应用而设计的数字运算操作的电子装置. 但PLC在运行中总是会出现一些故障问题,下面就为大家介绍一下PLC常见四大故障及其处理方法 PLC常见四大 ...
 - python库之——sklearn
			
机器学习库sklearn 官方documentation(资料)中分为不同的部分: 其中我们主要讲User Guide(机器学习算法理论介绍).API(程序实现方法): 一.User Guide ht ...
 - ROC曲线、KS曲线
			
一.ROC曲线 ROC曲线由混淆矩阵为基础数据生成. 纵坐标:真阳性比率TPR,预测为正占真正为正的比例. 横坐标:假阳性比率FPR,预测为正占真正为负的比例. 除了roc曲线的纵横坐标外,还有一个准 ...
 - 十、RPC(远程过程调用)
			
相关概念 RPC,是Remote Procedure Call的简称,即远程过程调用.它是一种通过网络从远程计算机上请求服务,而不需要了解底层网络的技术.RPC的主要功用是让构建分布式计算更容易,在提 ...
 - Java中的基本运算符
			
一.算术运算符运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式.注意:不同运算符连接的表达式体现的是不同类型的表达式. + 加法运算,字 ...
 - 批量修改ACCESS表列名
			
问题来源:从ODBC导入数据到ACCESS 再从ACCESS导入到SQL数据库,ACCESS会多带个DBO. 所以需要批量修改ACCESS的表名. 首先需要引用ADOX引用方法:打开ACCESS的VB ...
 - PHP--修改数据库表前缀
			
<?php // error_reporting(0); //设置好相关信息 $dbserver='localhost';//连接的服务器一般为localhost $dbname='jfpay' ...