博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC学习二:基础语法
阅读量:7124 次
发布时间:2019-06-28

本文共 2484 字,大约阅读时间需要 8 分钟。

目录

 

一:重载方法的调用

同一个控制器内的同名方法调用,可以用HttpGet 和HttpPost区分。

[HttpGet]public void request(int id = 0){    Response.Write("get 请求成功~");}[HttpPost]public void request(Models.Classes c = null){    Response.Write("post 请求成功~取到值:" + c.CName + " " + c.CImg);}

 

 

二:数据的传递

控制器向视图传递数据的方法:

1.ViewBag 2.ViewData 3.TempData 4.Model

TempData 不允许添加重复的 key

后台的赋值:

//1.ViewBag ViewBag.bag = "ViewBagbag"; //2.ViewData ViewData.Add("key", "viewdata"); //3.TempData if (!TempData.Keys.Contains("temp"))     TempData.Add("temp", "tempdata");  //不能重复 添加 相同的 键 //4.Model Models.Classes cl = new Models.Classes() { CName = "model name" };  //数据 return View(cl);

 

前台的取值:

ViewBag : @ViewBag.bag
ViewData : @ViewData["key"]
TempData : @TempData["temp"]
强类型视图: @Model.CName

 

这里要说的是,Model 类型的值  其实等效于  ViewData.Model

//4.Model ViewData.Model = new Models.Classes() { CName = "ViewData.Model" };//等效于Models.Classes cl = new Models.Classes() { CName = "model name" };  //数据return View(cl);

 

三:生成控件

前台视图 可以 通过 @Html.DropDownList 绑定后台ViewData数据 生成下拉框控件

后台代码:

ViewData.Add("myselect", new List
() { new SelectListItem() { Text = "值2", Value = "zhier" }, new SelectListItem() { Text = "值1", Value = "zhiyi" }});

 前台视图:

生成下拉框控件:@Html.DropDownList("myselect", "值一")

网页源码:

 

四:显示加载视图

视图加载可以分为 默认加载与控制器同名的 视图, 也可以显示加载自己指定的 视图。

public ActionResult setData(){    return View(); //加载默认 ActionResult 方法 同名的 视图 setData.cshtml    //return View("Index");  // 显示加载 Index.cshtml 视图  注意:不要带后缀 .cshtml}

 

五:强类型视图

在视图页面 定义 model 强类型 ,这样可以方便 编译器 给出 只能提示 ,仅此而已。

@model _1MVC学习.Models.Classes强类型视图: @Model.CName

 

六:@Response.Write() 和 @Html.Raw()区别

前台:

Html.Raw:@Html.Raw("Html.Raw")
Response.Write: 这里输出到最上面了@{ Response.Write("Response.Write输出~");}

 

页面源码:

Response.Write输出~    
setData
Html.Raw: Html.Raw
Response.Write: 这里输出到最上面了

 

七:视图中字符串的输入

在视图页面Razor语法 输入 “纯”字符串 方法:

1. <text>标签 2.@: 

@{    
字符串一
}
字符串二
@{ @:字符串三}

 

页面源码没有任何标签 包住

字符串一        
字符串二
字符串三

 

 

八:模板页

在添加视图的时候  选择 勾选 使用布局或模板页

使用了模板页的视图:  

@{    //标题    ViewBag.Title = "mby"; }

我使用了模板页

@* 这里是注释 @section 可以指定使用哪个“部分” 对应 模板页 的位置 @RenderSection("hhh", required: false) required 是否为必须填入 除了 @section 的其余部分 全部填充到 模板页的 @RenderBody() 位置*@@section hhh{ 我只是一个小坑而已啦~~~}

 

模板页代码(_Layout.cshtml):

    
@ViewBag.Title

模板页

@RenderBody() @RenderSection("hhh", required: false)

 

说明:此类文章仅供本人学习记录使用。如有2B的错误,欢迎指出。不喜勿喷!

转载地址:http://bbael.baihongyu.com/

你可能感兴趣的文章
如何用sosreport在Linux上创建诊断报告
查看>>
漫长“支付路”,BCH与你一路同行
查看>>
BCH或将在年底超越ETH
查看>>
Spring Cloud云架构 - commonservice-sso服务搭建(一)
查看>>
威胁快报|首爆新型ibus蠕虫,利用热门漏洞疯狂挖矿牟利
查看>>
Nacos安装与demo
查看>>
Hello World
查看>>
论JDK源码的重要性:一道面试题引发的无限思考
查看>>
大佬程序员给小白整理出的详细Python爬虫学习路线,机不可失!
查看>>
Vue学习笔记01_环境搭建
查看>>
CoordinatorLayout三部曲学习之二:CoordinateLayout源码学习
查看>>
重新认识JVM
查看>>
高并发的解决方案 --- 整个企业网站架构分析
查看>>
大型互联网分布式企业微服务云架构
查看>>
MySQL8.0 · 优化器新特性 · Cost Model, 直方图及优化器开销优化
查看>>
阿里云杨敬宇再谈边缘计算:ENS从1.0到2.0进化论
查看>>
大数据Spark优化读取Hbase--region 提高并行数过程详细解析
查看>>
【聚合支付平台】如何智用【模板+工厂】设计模式来实现异步回调
查看>>
在CentOS7上安装MySQL Workbench
查看>>
第五讲:用户退出登陆
查看>>