语法:

@ 可以编写一条C#语句
@{} 可以编写一组C#语句
@: 将文字内容直接输出到页面上去
@() 在一句中将一段C#代码包括起来,证明这一句完整的C#代码

引用命名空间:@using 空间名称

Home控制器

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication4.Models; namespace MvcApplication4.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
return View();
}
public ActionResult insert()
{
return View();
} public ActionResult insert1(Users u)
{
new UsersData().insert(u);
return RedirectToAction("Index","Home");
}
public ActionResult insert2()
{
return View();
} }
}

Index视图层

@{
Layout = null;
}
@using MvcApplication4.Models;@*引用命名空间*@
<!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<table style="background-color:aqua;text-align:center;color:white; width:100%">
<tr style="background-color:orange;">
<td>姓名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr>
@{
List<Users> ulist=new UsersData().all();
foreach(var u in ulist)
{
<tr style="@u.color">
<td>@u.UserName</td>
<td>@u.Password</td>
<td>@u.NickName</td>
<td>@(u.Sex.Value?"男":"女")</td>
<td>@u.Birthday.Value.ToString("yyyy-MM-dd")</td>
<td>@u.Nation1.NationName</td>
</tr>
}
} </table>
<a href="/home/insert">添加</a>
@Html.ActionLink("添加成员insert","insert","Home")
@Html.ActionLink("添加成员insert2","insert2","Home");
</div>
</body>
</html>

insert视图层

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>insert</title>
</head>
<body>
@*不写form表单元素标签,用Razor来代替*@
<div>
<h1>这是添加界面insert</h1> @{using(Html.BeginForm("insert1","Home"))
{
@:用户名<input type="text" name="username" /><br /><br />
@:密码<input type="text" name="password" /><br /><br />
@:昵称<input type="text" name="nickname" /><br /><br />
@:性别<input type="text" name="sex" /><br /><br />
@:生日<input type="text" name="birthday" /><br /><br />
@:民族<input type="text" name="nation" /><br /><br />
<input type="submit" value="提交" />
}
}
@* 此处应该使用@Html.EndForm()结束,但是这样子会报错,所以用using来替代该功能*@
</div>
</body>
</html>

insert2视图层

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>insert2</title>
</head>
<body>
<div>
<h1>这是添加界面insert2</h1> <form name="form1" method="post">
用户名<input type="text" name="username" /><br /><br />
密码<input type="text" name="password" /><br /><br />
昵称<input type="text" name="nickname" /><br /><br />
性别<input type="text" name="sex" /><br /><br />
生日<input type="text" name="birthday" /><br /><br />
民族<input type="text" name="nation" /><br /><br />
<input type="submit" id="tijiao" value="提交" /> </form> </div>
</body>
</html>
<script>
//在js中设置form表单的提交路径
document.getElementById("tijiao").onclick = function () { this.form.setAttribute("action","@Url.Action("insert1","Home")");
this.form.submit();
}; </script>

Users属性扩展

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MvcApplication4.Models
{
public partial class Users
{
public string color
{
get
{
string end = "";
if (Convert.ToBoolean(this._Sex))
{
end = "background-color:gray;";
}
else
{
end = "background-color:red;";
} return end;
}
} }
}

Razor的路径

(1)Html.ActionLink("","","")     在Index视图层

(2)Html.BeginForm("","")      在insert视图层

(3)Url.Action("Insert1", "Home")    在insert2视图层的js中

完!

MVC中Razor的使用 及路径问题的更多相关文章

  1. Spring MVC中获取当前项目的路径

    Spring MVC中获取当前项目的路径 在web.xml中加入以下内容 <!--获取项目路径--> <context-param> <param-name>web ...

  2. MVC 中 Razor 无限分类的展示

    在MVC的Razor视图展示无级分类的办法,在网上看了很多资料,大多搞得很高大上.可能本人水平有限,实在是不会用. 那我就用最简单爆力的办法来做. Model: public class NewsCa ...

  3. MVC中JQuery文件引入的路径问题,@Url.Content函数

    今天写了个MVC的Demo,文件夹结构很简单,如下: 利用EF生成Model框架并手工加表字段注解,但在页面上JS验证始终没显示.实在无语. 无意中在浏览器里按F12,看见提示:   Failed t ...

  4. 从项目经理的角度看.net的MVC中Razor语法真的很垃圾.

    我们知道,Razor语法中我们可以直接使用@if(){}等代码段,这使得.net程序员在写模版时更容易了. 对比如下: 语法名称 Razor 语法 Web Forms 等效语法 代码块(服务端) @{ ...

  5. MVC中Razor视图基本语法(1)

    Razor前面,必须要跟前面的有空隙,即空格(多谢一楼提醒,url里面确实不用空格,如果要在url里面只需要@(ViewBag.),加上括号就好了),之后的必须要连贯,否则加小括号 1,在页面中输出单 ...

  6. mvc中razor的一个bug

    具体东西就不多说了,所有编译,代码都是木有问题的. 结果预览页面的时候竟然告诉我编译错误,尼玛这不科学啊. 来看看错误页面 看着问题大概应该是缺少} ,或者多了个} 倒置的编译错误才对,但是编译生成完 ...

  7. MVC 中 Razor引擎学习:RenderBody,RenderPage和RenderSection

    RenderBody 在Razor引擎中没有了“母版页”,取而代之的是叫做“布局”的页面(_Layout.cshtml)放在了共享视图文件夹中.在这个页面中,会看到 标签里有这样一条语句: @Rend ...

  8. MVC中在RAZOR 模板里突然了现了 CANNOT RESOLVE SYMBOL ‘VIEWBAG’ 的错误提示

    然后在Razor中出现了@ViewBag的不可用,@Url不可用,@Html 这些变量都不能用了. 异常提示: 编译器错误消息: CS0426: 类型“XX.Model.System”中不存在类型名称 ...

  9. ASP.NET MVC 3: Razor中的@:和语法

    原文 ASP.NET MVC 3: Razor中的@:和语法 [原文发表地址] ASP.NET MVC 3: Razor’s @: and <text> syntax[原文发表时间] De ...

随机推荐

  1. HTML-embed标签详解

    Embed(一).基本语法:embed src=url说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,      Netscape及新版的IE 都支持 ...

  2. WordPress的body_class()函数详解

    wordpress的body_class()函数,顾名思义,这个函数根据不同的页面类型为body标签生成class选择器,从而让设计人员可以各方便灵活的控制不同页面中的各个元素.本文对这一函数进行了详 ...

  3. Web前端开发基础 第四课(盒代码模型)

    盒模型代码简写 还记得在讲盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左.具体应用在margin和paddin ...

  4. NTFS 权限讲解 ACL

    节选自:Securing Windows Server 2003 4.1 Protecting Files with NTFS File Permissions The primary techniq ...

  5. JS中的_proto_

    var grandfather = function(){ this.name = "LiuYashion" ; } var father = function(){}; fath ...

  6. JMeter学习-002-JMeter环境配置

    本节主要介绍 JMeter 本地环境配置(JMeter 版本为 apache-jmeter-2.12),详细配置如下: 一.JDK配置 默认用户本地已经安装且配置好 JDK.若未配置,敬请参阅我的博客 ...

  7. 用soapUI生成客户端代码

    一.用soapUI生成客户端代码 方法一: 1.第一步,打开soapUI,菜单栏里的tools,选择apache CXF,如图, 2.第二步,WSDL:写上你连接服务端的地址,OutputDirect ...

  8. oracle创建、删除账户

    1.创建 /*第1步:创建表空间 */create tablespace xybi datafile 'E:\oracle\oradata\zzxe\xybi_d01' size 100M ; /*第 ...

  9. Android onMeasure方法介绍

    onMeasure方法在控件的父元素正要放置它的子控件时调用.它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec. 它们 ...

  10. (地址)eclipse插件开发攻略的访问地址

    园子地址: http://www.cnblogs.com/liuzhuo/category/257208.html 关键字: Eclipse插件开发彻底攻略 eclipse插件开发基础篇之