目录

一:重载方法的调用

二:数据的传递

三:生成控件

四:显示加载视图

五:强类型视图

六:@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. 解决MVC4 时间验证Bug

    MVC验证时间控件(my97,时间格式:yyyy-MM-dd HH:mm:ss)  在谷歌浏览器上一切正常.但在火狐和IE 上一直验证不通过 (错误信息:日期格式不对) 猜想是 时间格式的问题..日期 ...

  2. 【DWR系列03】- DWR主要类详解

    img { border: 1px solid black } 一.简介 首先应该了解这个jar包主要的类,了解了类,就了解了DWR.DWR的在线javadoc:http://directwebrem ...

  3. 简单爬虫,突破IP访问限制和复杂验证码,小总结

    简单爬虫,突破复杂验证码和IP访问限制 文章地址:http://www.cnblogs.com/likeli/p/4730709.html   好吧,看题目就知道我是要写一个爬虫,这个爬虫的目标网站有 ...

  4. 我的 vim 基本配置

    " required 使用 vundle 需要先设置这两项 set nocompatible filetype off " 设置 vundle 插件 使用帮助:https://gi ...

  5. 【Hibernate框架】flush机制

    背景: 一个偶然的机会,我做了一个例子,中间我遇到了一个有意思的问题,就是在执行commit方法之前,做了两次save操作,如下: SessionFactory sf = new Configurat ...

  6. apache自带ab压测

    ./ab -k -n100000 -c100 http://localhost/index.php -k表示保持连接keep-alive -n表示请求数 -c表示并发数 (总结)Web性能压力测试工具 ...

  7. Hackerrank11 LCS Returns 枚举+LCS

    Given two strings,  a and , b find and print the total number of ways to insert a character at any p ...

  8. Format

    strTimeZone := Format('%s ~ %s',[formatdatetime('yyyy-mm-dd',dtpStartTime.DateTime), formatdatetime( ...

  9. 用Barcode生成条形码图片

    使用第三方类库:BarcodeLib.dll private BitmapImage GenerateBarcodeBitmap(string visitId) { BarcodeLib.Barcod ...

  10. 使用TextUtils.isEmpty简单化代码

    如果让你判断一个文本框是否为空(null)或者没有任何值(length=0),你会怎么怎样去写代码,很多初学者可能会这样写: if(text==null || text.length==0) {... ...