Razor 视图引擎

与Aspx开发区别在于代码:

  1、Razor 更智能,摒弃了<%%>格式,直接用@符号开启cs代码,遇到html时自动识别

  2、遇到如汉字等即非cs代码,又非html代码就无法识别,由“@:”或“<text></text>”来输出

Razor格式:

  1、基本代码以“@”开启cs代码,一行内为cs代码

  2、“@{}”表示花括号内都是cs代码

  3、“@:”或“<text></text>”输出文本

  4、“@()”括号内内容转化为代码

一、新建Razor视图引擎

二、输出当前时间,并判断上午或下午

@{
Layout = null;
} <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
@DateTime.Now.ToString("yyyy年MM月dd日");<br />
@if (DateTime.Now.Hour > )
{
@:下午
}
else
{
<text>上午</text>
} </body>
</html>

Razor展示时间

三、展示数据:

//主页展示数据
public ActionResult Index()
{
using (Data0928DataContext con = new Data0928DataContext())
{
List<Users> ulist = con.Users.ToList();
ViewBag.Users = ulist;
} return View();
}

动作代码

@{
Layout = null;
}
@using MvcApplication2.Models; <!DOCTYPE html> <html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body> <table style="width: 100%; text-align: center;" cellpadding="" cellspacing="" border="">
<tr style="background-color: navy; color: white;">
<td>编号</td>
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
</tr>
@{
List<Users> ul = ViewBag.Users as List<Users>;
foreach (Users u in ul)
{
<tr>
<td>@u.ids</td>
<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.nation</td>
</tr>
} }
</table> </body>
</html>

View层代码

四、修改时,男女默认选中方法

方法一:

@:性别:

        <input id="ra1" type="radio" name="sex" value="True" @(u.Sex.Value ? "checked=\"checked\"" : "") /><label for="ra1">男</label>
<input id="ra2" type="radio" name="sex" value="False" @(u.Sex.Value ? "" : "checked=\"checked\"") /><label for="ra2">女</label> <br />

男或女默认选中

方法二:

 @:性别:
@
if (u.Sex.Value)
{
<input id="ra1" type="radio" name="sex" value="True" checked="checked" /><label for="ra1">男</label>
<input id="ra2" type="radio" name="sex" value="False" /><label for="ra2">女</label>
}
else
{
<input id="ra3" type="radio" name="sex" value="True" /><label for="ra3">男</label>
<input id="ra4" type="radio" name="sex" value="False" checked="checked" /><label for="ra5">女</label>
}

男或女默认选中

五、修改时,下拉列表

<select name="nationc">
@{
List<Nation> nnlist = ViewBag.xixi as List<Nation>; foreach (Nation n in nnlist)
{
<option @( n.NationCode == u.Nation ? "selected=\"selected\"" : "") value="@n.NationCode">@n.NationName</option>
}
}
</select>

下拉列表代码

★六、系统自动生成路径 - 参数:1、文字 2、动作+参数 3、控制器

@Html.ActionLink("修改", "Update/" + u.UserName, "Home");

★七、form表单格式 - 参数:1、动作 2、控制器

@{
  using (Html.BeginForm("Update1", "Home"))
  {
  }
}

★八、JS生成路径

<script>
document.getElementById("aaa").value = '@Url.Action("wa", "Home")';
</script>

C#-MVC-Razor视图引擎及解决路径问题的三个方法的更多相关文章

  1. ASP.NET MVC——Razor视图引擎

    Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...

  2. ASP.NET MVC Razor视图引擎攻略

    --引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...

  3. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页

    https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...

  4. MVC Razor视图引擎

    Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...

  5. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2

    https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...

  6. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 HtmlHelper-超链接方法

    一.@Html.ActionLink()概述 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁.通过浏览器依然会解析成 ...

  7. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 动态数据的呈现

    https://www.cnblogs.com/cynchanpin/p/7065098.html 在MVC3開始.视图数据能够通过ViewBag属性訪问.在MVC2中则是使用ViewData.MVC ...

  8. ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图引用资源

    https://www.cnblogs.com/Roxlin/p/5615144.html 一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.c ...

  9. MVC Razor视图引擎的入门

    首先我们来说说他的给我们开发者带来那些好处吧: Razor语法易于输入,易于阅读,微软当时是这样定义的:简洁,富有表现力和灵活性,支持所有文本编辑器,强大的智能提示功能,单元测试. Rozor文件类型 ...

随机推荐

  1. 用命令创建MySQL数据库

    一.连接MYSQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1. 连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u roo ...

  2. yii2的数据库读写分离配置

    简介 数据库读写分离是在网站遇到性能瓶颈的时候最先考虑优化的步骤,那么yii2是如何做数据库读写分离的呢?本节教程来给大家普及一下yii2的数据库读写分离配置. 两个服务器的数据同步是读写分离的前提条 ...

  3. JS对象与Dom对象与jQuery对象之间的区别

    前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save&qu ...

  4. [转]Python中__repr__和__str__区别

    class Test(object): def __init__(self, value='hello, world!'): self.data = value >>> t = Te ...

  5. 大整数加减运算的C语言实现

    目录 大整数加减运算的C语言实现 一. 问题提出 二. 代码实现 三. 效果验证 大整数加减运算的C语言实现 标签: 大整数加减 C 一. 问题提出 培训老师给出一个题目:用C语言实现一个大整数计算器 ...

  6. 没钱买windows怎么办?

    ReactOS是一个与 Windows 环境二进制兼容的操作系统. 同时,他是一款开源.免费的操作系统.

  7. 给vscode添加右键打开功能

    将以下文本存为vscode.reg,然后运行: Windows Registry Editor Version 5.00  ; Open files [HKEY_CLASSES_ROOT\*\shel ...

  8. VMPlayer Ubuntu 16.04 Copy and Paste with Host 主机与宿机之间的复制粘贴

    使用Ubuntu的虚拟机时如果不能主机之间进行复制粘粘,会非常非常的不方便,所以我们需要安装vmware tools,使用如下的代码(注意第二句一定要有,不然还是不能复制粘贴): sudo apt-g ...

  9. 防止xss和sql注入:JS特殊字符过滤正则

    function stripscript(s) { var pattern = new RegExp("[%--`~!@#$^&*()=|{}':;',\\[\\].<> ...

  10. Gym 101194E / UVALive 7901 - Ice Cream Tower - [数学+long double][2016 EC-Final Problem E]

    题目链接: http://codeforces.com/gym/101194/attachments https://icpcarchive.ecs.baylor.edu/index.php?opti ...