目录

一:重载方法的调用

二:数据的传递

三:生成控件

四:显示加载视图

五:强类型视图

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

七:视图中字符串的输入

八:模板页

一:重载方法的调用

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

[HttpGet]
public void request(int id = )
{
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
<br />
ViewData : @ViewData["key"]
<br />
TempData : @TempData["temp"]
<br />
强类型视图: @Model.CName
<br />

这里要说的是,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<SelectListItem>() {
new SelectListItem() { Text = "值2", Value = "zhier" },
new SelectListItem() { Text = "值1", Value = "zhiyi" }
});

前台视图:

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

网页源码:

<select id="myselect" name="myselect"><option value="">值一</option>
<option value="zhier">值2</option>
<option value="zhiyi">值1</option>
</select>

四:显示加载视图

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

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")
<br />
Response.Write: 这里输出到最上面了
@{
Response.Write("Response.Write输出~");
}

页面源码:

Response.Write输出~

<!DOCTYPE html>

<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>setData</title>
</head>
<body>
<div> Html.Raw:
Html.Raw
<br />
Response.Write: 这里输出到最上面了

七:视图中字符串的输入

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

1. <text>标签 2.@:

@{
<text>字符串一</text>
}
<br />
字符串二
<br />
@{
@:字符串三
}

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

     字符串一

        <br />
字符串二
<br />
字符串三

八:模板页

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

使用了模板页的视图:  

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

模板页代码(_Layout.cshtml):

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title> </head>
<body>
<h1>模板页</h1>
@RenderBody() @RenderSection("hhh", required: false)
</body>
</html>

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

MVC学习二:基础语法的更多相关文章

  1. JavaScript学习02 基础语法

    JavaScript学习02 基础语法 JavaScript中很多基础内容和Java中大体上基本一样,所以不需要再单独重复讲了,包括: 各种算术运算符.比较运算符.逻辑运算符: if else语句.s ...

  2. less学习:基础语法总结

    一. less是什么 Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量.混合(mixin).函数等功能,让 CSS 更易维护.方便制作主题.扩充. 注意1):less使用. ...

  3. JavaScript学习笔记-基础语法、类型、变量

    基础语法.类型.变量   非数字值的判断方法:(因为Infinity和NaN他们不等于任何值,包括自身) 1.用x != x ,当x为NaN时才返回true; 2.用isNaN(x) ,当x为NaN或 ...

  4. Python学习①. 基础语法

    Python 简介 Python 是一种解释型,面向对象的语言.特点是语法简单,可跨平台 Python 基础语法 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编 ...

  5. 真香,理解记忆法学习Python基础语法

    这篇文章很难写!我最开始学 Python,和大多数人一样,是看的菜鸟教程: 在写完这篇文章的第一遍后,我发现并没有写出新意,很可能读者看到后,会和我当初一样,很快就忘了.我现在已经不是读者而是作者了, ...

  6. ASP.NET MVC 4.0 学习1-C#基础语法

    1,方法多載,相同的方法名稱,不同的參數類型.數量 class Program { static void Main(string[] args) { Program newObject = new ...

  7. 学习fortran77基础语法

    Program ParamaterDefine Implicit None C FORTRAN变量名和关键字不区分大小写.但调用外部函数的话,需要在编译选项里指定 c 大小写等选项 因为链接器是区分大 ...

  8. python学习之基础语法

    一.缩进 学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断.python 最具特色的就是用缩进来写模块. 缩进的空白数量是可变的, ...

  9. Python学习--Python基础语法

    第一个Python程序 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗 ...

随机推荐

  1. WinForm中重绘TabControl选项卡标题

    最近开发WinForm频繁使用了TabControl控件,这个控件的选项卡没有BackgroundImage这个属性,那么如何为其各个选项卡添加背景图片呢?(这里说的是每个TabPage的头部,也就是 ...

  2. Java并发集合的实现原理

    本文简要介绍Java并发编程方面常用的类和集合,并介绍下其实现原理. AtomicInteger 可以用原子方式更新int值.类 AtomicBoolean.AtomicInteger.AtomicL ...

  3. JAVA运行时问题诊断-工具应用篇

    该BLOG内容是之前在部门组织讨论运行时问题时自己写的PPT内容,内容以点带面,主要是方便以后自己回顾查看. 大纲包括:1.运行时问题分类 2.服务器自带工具 3.其他工具 4.例子 5.实际情况 运 ...

  4. iOS---FMDB数据升级

    本人在这里重要强调一下!!! 看这里,看这里,看这里,重要的事说三遍. 本人在项目开发中,由于需求问题,不得不对已经建立好的数据库进行修改(添加字段),我就很随意的直接添加了对一个的字段,运行一下,数 ...

  5. 加密狗的管理层API(C#代码)

    using System; using System.Collections.Generic; using System.Text; using System.Runtime.InteropServi ...

  6. sql语句,怎么取查询结果的位置

    SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: S ...

  7. js随笔

    在js中,一个[]认为是数组:{}认为是Json对象:

  8. 关于利用bat文件调用exe批量处理文件下的文件的问题

    for %%i in (E:\radar_20120721\sjz_sa\*.bin) do start/wait radas.exe -i=%%i -o=E:\longjiang\out 找到 文件 ...

  9. 转:Delphi的类与继承(VB与delphi比较)

    既然已经做出了com程序用delphi来开发的决定,那当然就要对delphi进行一些深入的了解.有人说delphi是一个用控件堆砌起来的工具,和vb没什么两样:也有人说dephi实际上是面向过程的,他 ...

  10. 谈谈PHP代码规范

    [转] http://www.syyong.com/php/Talk-about-PHP-code-specification.html 我向往这样一个php世界,里面没有代码规范之争.你我都一样,都 ...