正式学习MVC 05
1、剃须刀模板razor的使用
1)混编
循环语法
@model List<MVCStudy.Models.Student>
@{
ViewBag.Title = "List";
} <h2>List</h2>
<!--循环遍历数组内容 c#与HTML混编-->
<ul> @foreach (var stu in Model)
{
<li>@stu.Name</li>
} </ul>
public ActionResult List()
{
return View(new List<Student> {
new Student()
{
Id = ,
Name = "Micky",
Age =
},
new Student()
{
Id = ,
Name = "Jese",
Age =
},
new Student()
{
Id = ,
Name = "Nick",
Age =
}
}); ;
}
razor模板的核心是@
@符号在最上面:声明
@+大括号:c#代码,内部可以声明变量等等
@model List<MVCStudy.Models.Student>
@{
ViewBag.Title = "List";
int a = ;
} <h2>List</h2>
<!--循环遍历数组内容 c#与HTML混编-->
<ul> @foreach (var stu in Model)
{
@(a+22) //需要加括号才能进行表达式的处理
<li>@stu.Name</li>
} </ul>
如果就想输出一个@,怎么做?请写两个@进行转移
输出一段html:
@model List<MVCStudy.Models.Student>
@{
ViewBag.Title = "List";
int a = ;
string html = @"<p style='color:red;'>你好<p>";
} <h2>List</h2>
<!--循环遍历数组内容 c#与HTML混编-->
<ul>
@@
@foreach (var stu in Model)
{
@(a+)
<li>@stu.Name</li>
} </ul>
@Html.Raw(html)
@*注释内容*@
2、区域
1)项目右键-添加-添加已搭建基架的新项-MVC-MVC5区域-命名新建
添加后区域相当于一个单独的MVC

我们添加控制器与视图后可以访问到它,但是原首页的路由出现了多个,无法访问,进行如下修改
找到项目的路由配置RouteConfig.cs文件修改
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces:new string[]
{
"MVCStudy2.Controllers"
}
);
添加namespaces,一个字符串数组,里面的值是项目的命名空间
2)区域路由跳转
链接名称,路由名称(在区域的路由文件内查看,跳转参数)
@{
ViewBag.Title = "Home Page";
}
<h1>项目首页</h1>
@Html.RouteLink("体育板块", "Sport_default", new { controller="Home",action="Index"})
3) 行为跳转
@{
ViewBag.Title = "Home Page";
}
<h1>项目首页</h1>
@Html.RouteLink("体育板块", "Sport_default", new { controller="Home",action="Index"})
@Html.ActionLink("行为跳转","About",new {需传送参数},htmlAttributes:new {所需html属性})
如果要使用a标签进行行为跳转,需要进行跳转连接的确定(Url.Action)
@{
ViewBag.Title = "Home Page";
}
<h1>项目首页</h1>
@Html.RouteLink("体育板块", "Sport_default", new { controller="Home",action="Index"})
@Html.ActionLink("行为跳转","About")
<a href="@Url.Action("About",new { from = "Index"})">跳转至About</a>
与上面类似,进行路由跳转也可以用a标签:
@{
ViewBag.Title = "Home Page";
}
<h1>项目首页</h1>
@Html.RouteLink("体育板块", "Sport_default", new { controller="Home",action="Index"})
@Html.ActionLink("行为跳转","About")
<a href="@Url.Action("About",new { from = "Index"})">跳转至About</a>
<a href="@Url.RouteUrl("Admin_default", new { controller="Home",action="Index",param="u can also add param"})">跳转至Admin路由</a>
正式学习MVC 05的更多相关文章
- 正式学习MVC 01
1.新建项目 点击创建新项目,选择ASP.NET web应用程序,对项目进行命名后点击创建. 截图如下: 取消勾选HTTPS配置 可选择空 + mvc 或直接选定MVC 2.目录结构分析 1) App ...
- 正式学习MVC 02
1.cookie 继续讲解MVC的内置对象cookie 相对不安全 1)保存cookie public ActionResult Index() { // 设置cookie以及过期时间 Respons ...
- 正式学习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 一.编 ...
- 白话学习MVC(八)Action的执行二
一.概述 上篇博文<白话学习MVC(七)Action的执行一>介绍了ASP.NET MVC中Action的执行的简要流程,并且对TempData的运行机制进行了详细的分析,本篇来分析上一篇 ...
- 白话学习MVC(九)View的呈现一
一.概述 本节来看一下ASP.NET MVC[View的呈现]的内容,View的呈现是在Action执行之后进行,Action的执行生成一个ActionResult,[View的呈现]的功能就是:通过 ...
随机推荐
- html5 一些好用的原生事件
计算机技术发展这么多年, 有些方面太老了,不适合新时代的发展, 使用新的规范,更方便开发和使用, 提高各方使用人的工作效率, 何乐而不为 drag drop html5新增属性 某些操作使用拖拽比较方 ...
- CorsConfig
package org.linlinjava.litemall.core.config; import org.springframework.context.annotation.Bean; imp ...
- css3应用
画出一个禁行标志 border-radius: 50%; width: 100px; height: 100px; border: 10px solid red; background: linear ...
- HQL语句简单介绍
HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此 Hib ...
- 简单标签 SimpleTagSupport示例
最近处理JSP页面,需要把数据库查到的原始值,根据数据字典转换成更加直观的值.比如查到的结果是 01,jsp页面展示‘身份证’. 如果值比较少,就直接用c:if标签处理了,无奈接触的值比较多,只想到了 ...
- python语法基础-函数-进阶-长期维护
############### 函数的命名空间和作用域 ############## """ # 函数进阶 命名空间和作用域 命名空间 全局命名空间——我们自 ...
- Python面向对象三大特征
继承 面向对象中的继承就是继承的类直接拥有被继承类的属性而不需要在自己的类体中重新再写一遍,其中被继承的类叫做父类.基类,继承的类叫做派生类.子类.在python3中如果不指定继承哪个类,默认就会继承 ...
- python练习题——猜数字游戏
增加了按照对半找数的方法来计算最短几次就可以猜到随机数,决定到游戏结束共猜数的次数: from random import * import numpy as np from numpy import ...
- Qt QImage的浅拷贝与深拷贝
首先简单说说什么是浅拷贝和深拷贝:浅拷贝就比如像引用类型,而深拷贝就比如值类型,即浅拷贝是共用一块内存的,而深拷贝是复制一份内容. 我们再来看看QImage类的几个构造函数: // 浅拷贝 QImag ...
- linux基本指令梳理