MVC 【Razor 视图引擎】案例分析
using MvcApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication1.Controllers
{
public class LoginController : Controller
{
//
// GET: /Login/ // 登录视图
public ActionResult Index()
{
return View();
} // 登录验证
public ActionResult YanZheng(string uname, string pwd)
{ bool b = new UsersData().SelectUser(uname, pwd);
if (b)
{
Response.Cookies["user"].Value = uname;
Response.Cookies["user"].Expires = DateTime.Now.AddDays(); return RedirectToAction("Index", "Home");
}
else
{
TempData["loginerror"] = "用户名密码错误";
return RedirectToAction("Index", "Login");
} } }
}
登录 控制器
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
@{using (Html.BeginForm("YanZheng", "Login"))
{
@:用户名:<input type="text" name="uname" /><br />
@:密码:<input type="password" name="pwd" /><br />
<input type="submit" value="登录" />
if (TempData["loginerror"] != null)
{
<div style="color: red;">@TempData["loginerror"]</div>
}
}
}
</div>
</body>
</html>
登录 视图
--------------------------------------------
using MvcApplication1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcApplication1.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ //展示方法
public ActionResult Index()
{
//判断是否登录,有登录信息展示
if (Request.Cookies["user"] != null)
{
return View();
}
else
{ //无登录信息返回原视图
return RedirectToAction("Index", "Login");
}
} //添加视图
public ActionResult Insert()
{
return View();
} //添加方法
//界面上 name 取的名 与字段名一样 会自动拼成匹配的对象
public ActionResult Insert1(Users u)
{
new UsersData().Insert(u);
return RedirectToAction("Index");
} //修改 接收传值
public ActionResult Update(string id)
{
Users u = new UsersData().SelectUser(id);
if (u != null)
{
return View(u);
}
else
{
return RedirectToAction("index", "Home");
}
} }
展示,修改,添加 控制器
@{
Layout = null;
}
@using MvcApplication1.Models;
@*引用命名空间*@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<h1>这是Razor语法出来的视图主界面</h1>
<table style="width: 100%; text-align: center; background-color: navy;">
<tr style="color: white;">
<td>用户名</td>
<td>密码</td>
<td>昵称</td>
<td>性别</td>
<td>生日</td>
<td>民族</td>
<td>操作</td>
</tr>
@{
List<Users> ulist = new UsersData().SelectAll();
foreach (Users u in ulist)
{
<tr style="background-color: white;">
<td>@u.UserName</td>
<td>@u.PassWord</td>
<td>@(u.NickName)同学</td>
<td>@(u.Sex == true ? "男" : "女")</td>
<td>@u.Birthday.Value.ToString("yyyy年MM月dd日")</td>
<td>@u.UserNation.NationName</td>
<td>@Html.ActionLink("修改", "Update/" + u.Ids, "Home") </td>
@*修改--在动作后面接 传的值*@
</tr>
}
}
</table>
@Html.ActionLink("添加hehe", "Insert", "Home")
@*使用超链接添加*@
<input type="button" value="添加新用户" id="btn1" />
@*使用普通按钮添加*@
</div>
</body>
</html>
<script type="text/javascript">
document.getElementById("btn1").onclick = function () {
window.location.href = "@Url.Action("Insert", "Home")";
} @*使用普通按钮添加----方法*@
</script>
展示 视图
@{
Layout = null;
}
@using MvcApplication1.Models;
@*引用命名空间*@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Insert</title>
</head>
<body>
<div>
<h1>添加新用户</h1>
@{ using (Html.BeginForm("Insert1", "Home", "post"))
{
@:用户名:<input type="text" name="username" /><br />
@:密码:<input type="text" name="password" /><br />
@:昵称:<input type="text" name="nickname" /><br />
@:性别:
<input type="radio" value="True" id="r1" name="sex" checked="checked" /><label for="r1">男</label>
<input type="radio" value="False" id="r2" name="sex" /><label for="r2">女</label>
<br />
@:生日:<input type="text" name="birthday" /><br />
@:民族:
<select name="nation">
@{
List<UserNation> unlist = new UserNationData().SelectAll();
foreach (UserNation un in unlist)
{
<option value="@un.NationCode">@un.NationName</option>
}
}
</select>
<br />
<div id="div1" style="width: 100px; height: 100px; background-color: red;">保存</div>
<input type="button" value="保存" id="btn1" />
}
}
</div>
</body>
</html>
<script type="text/javascript">
document.getElementById("div1").onclick = function () {
this.parentNode.submit();
//点击div时 提交
}
document.getElementById("btn1").onclick = function () {
this.form.submit();
} //普通按钮提交
</script>
添加 视图
@{
Layout = null;
}
@using MvcApplication1.Models;
@*引用命名空间*@
@model Users
@* 声明传进来的强类型的数据类型*@
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Update</title>
</head>
<body>
<div>
@{ using (Html.BeginForm("Update1", "Home", "post"))
{
@:用户名:<input type="text" disabled="disabled" name="username" value="@Model.UserName" /><br />
@:密码:<input type="text" name="password" value="@Model.PassWord" /><br />
@:昵称:<input type="text" name="nickname" value="@Model.NickName" /><br />
@:性别:
<input type="radio" value="True" id="r1" name="sex" @(Model.Sex == true ? "checked='checked'" : "") /><label for="r1">男</label>
<input type="radio" value="False" id="r2" name="sex" @(Model.Sex == false ? "checked='checked'" : "") /><label for="r2">女</label>
<br />
@:生日:<input type="text" name="birthday" value="@Model.Birthday.Value" /><br />
@:民族:
<select name="nation">
@{
List<UserNation> unlist = new UserNationData().SelectAll();
foreach (UserNation un in unlist)
{
<option @(un.NationCode == Model.Nation ? "selected='selected'" : "") value="@un.NationCode">@un.NationName</option>
}
}
</select>
<br />
<div id="div1" style="width: 100px; height: 100px; background-color: red;">保存</div>
//用 div 提交
<input type="button" value="保存" id="btn1" />
//用普通按钮提交
}
}
</div>
</body>
</html>
<script type="text/javascript">
document.getElementById("div1").onclick = function () {
this.parentNode.submit();
//用 div 提交
}
document.getElementById("btn1").onclick = function () {
this.form.submit();
//用普通按钮提交
}
</script>
修改 视图
--------------
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Test1</title>
<script src="~/js/jquery-1.7.1.min.js"></script>
</head>
<body>
<div>
<input type="text" id="txt1" name="t1" />
<input type="button" value="验证" id="btn1" />
</div>
</body>
</html>
<script type="text/javascript">
$("#btn1").click(function () {
$.ajax({
url: "/ajax/aaa.ashx", data: { "t": $("#txt1").val() }, type: "post", dataType: "json",
success: function (msg) {
if (msg.ok == "") {
alert("可用");
}
else {
alert("抱歉,已被占用!!");
}
}
});
});
</script>
番外--用AJAX验证
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MvcApplication1.Models; namespace MvcApplication1.ajax
{
/// <summary>
/// aaa 的摘要说明
/// </summary>
public class aaa : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
string end = "{\"ok\":\"0\"}";
string uname = context.Request["t"]; using (DataClasses1DataContext con = new DataClasses1DataContext())
{
Users u = con.Users.Where(r => r.UserName == uname).FirstOrDefault();
if (u != null)
{
end = "{\"ok\":\"1\"}"; }
}
context.Response.Write(end);
context.Response.End();
} public bool IsReusable
{
get
{
return false;
}
}
}
}
验证
-- 各 方法未写
MVC 【Razor 视图引擎】案例分析的更多相关文章
- ASP.NET MVC——Razor视图引擎
Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...
- ASP.NET MVC Razor视图引擎攻略
--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页
https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...
- MVC Razor视图引擎
Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2
https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 HtmlHelper-超链接方法
一.@Html.ActionLink()概述 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁.通过浏览器依然会解析成 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 动态数据的呈现
https://www.cnblogs.com/cynchanpin/p/7065098.html 在MVC3開始.视图数据能够通过ViewBag属性訪问.在MVC2中则是使用ViewData.MVC ...
- MVC Razor视图引擎的入门
首先我们来说说他的给我们开发者带来那些好处吧: Razor语法易于输入,易于阅读,微软当时是这样定义的:简洁,富有表现力和灵活性,支持所有文本编辑器,强大的智能提示功能,单元测试. Rozor文件类型 ...
- MVC Razor视图引擎控件
0.日期转化
- Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合
using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System. ...
随机推荐
- java批量将多文件打包成zip格式
public void createzip(){ List<File> nFileList = new ArrayList<File>(); nFileList.add(new ...
- Oracle实现like多个值的查询
问题背景描述: 某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息. 客户给定的被叫号码如图所示: 查询出来的结果如下图所示(本批次的结果不是上图导入的结 ...
- 【pycharm 警告】unittest RuntimeWarning: Parent module ” not found while handling absolute import
Pycharm 2016.2执行单元测试遇到如下问题: RuntimeWarning: Parent module ‘YOUR_MODULE_HERE’ not found while handlin ...
- 关于esp32的ADC采集
对于ADC采集 程序源码如下: /* ADC1 Example This example code is in the Public Domain (or CC0 licensed, at your ...
- [ 9.24 ]CF每日一题系列—— 468A构造递推
Description: 1 - n个数问你能否经过加减乘除这些运算n -1次的操作得到24 Solutrion: 一开始想暴力递推,发现n的范围太大直接否决,也否决了我的跑dfs,后来就像肯定有个递 ...
- MongoDB 数据库
数据库: 关系型数据库 mysql 收费 速度快 字段类型 非关系型数据库 MongoDB 不收费 速度慢一些 存储数据都是字符串 ...
- 用Nginx搭建IIS集群实现负载均衡
长话短说,我们用Nginx来搭建一个简单的集群,实现Web应用的负载均衡,架构图如下: 两台Web服务器,一台静态资源服务器,因为是演示,我们以网站形式部署在本机IIS中 一台Nginx代理服务器,安 ...
- ELKstack简介及环境部署
ELK工作流程图 环境准备 安装Logstash依赖包JDK Logstash的运行依赖于Java运行环境, Logstash 1.5以上不低于java 7推荐使用最新版本的Java.由于只是运行Ja ...
- .net core在Linux下获取AD域信息
.net core在Linux下获取AD域信息 .net Core 2.1.4 .net core现在System.DirectoryServices只支持Windows平台下使用. 参考: http ...
- Spring Session - 使用Redis存储HttpSession例子
目的 使用Redis存储管理HttpSession: 添加pom.xml 该工程基于Spring Boot,同时我们将使用Spring IO Platform来维护依赖版本号: 引入的依赖有sprin ...