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 视图引擎】案例分析的更多相关文章

  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. MVC Razor视图引擎的入门

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

  9. MVC Razor视图引擎控件

    0.日期转化

  10. Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合

    using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System. ...

随机推荐

  1. 使用itext生成pdf的,各种布局

    代码如下,jar包为itext.jar,itextAsia.jar,最好都是最新的 :2张图片也在最后贴出,把图片放到D盘可以直接生成制定格式的pdf. 最后生成的pdf如下: 代码如下: packa ...

  2. Eclipse添加JDK,JRE切换

    Eclipse添加JDK Window---preferences 切换JDK,JRE

  3. IntelliJ IDEA 2017版 spring-boot2.0.2 搭建 JPA springboot DataSource JPA sort排序方法使用方式, 添加关联表的 order by

    1.sort可以直接添加在命名格式的字段中 List<BomMain> findAllByDeleted(Integer deleted, Sort sort); 2.可以作为pageab ...

  4. PowerShell 使用.NetFramework

    我们都知道,由于PowerShell是基于.NETFramework建立的所以它能够具备访问.NET的能力,因为.NET提供了庞大的数据类库,所以我们可以很好的使用PowerShell去完成一些Pow ...

  5. MFC文件IO和串行化

    一. MFC中CFile对象实现了磁盘文档的读写,但是大部分MFC应用程序的IO服务都使用CArchive对象来完成.不管CFile和Archive输入输出的都是二进制数据,非文本数据. int a ...

  6. unigui日志

    unigui日志 uniGUI本身提供了日志功能,利用uniServerModule.ServerLogger来控制如何写日志: Enabled:是否写日志 Options:logIndyExcept ...

  7. 进程控制(Note for apue and csapp)

    1. Introduction We now turn to the process control provided by the UNIX System. This includes the cr ...

  8. 【算法】实现字典API:有序数组和无序链表

    参考资料 <算法(java)>                           — — Robert Sedgewick, Kevin Wayne <数据结构>       ...

  9. while循环 格式化输出 密码本 编码的初识

    第二天课程整理 while 循环 why : while ' 循环' 的意思 what : while 无限循环 how : 1.基本结构 while + 条件 循环的代码 初识循环 while tr ...

  10. Data - 关于大数据

    历史与趋势 大数据的前世今生:诞生.发展.未来? 如何利用数据赚钱?大数据价值变现的10种商业模式及利弊分析 10大行业大数据应用痛点及解决策略 大数据凉了?不,流式计算浪潮才刚刚开始 概念与定义 关 ...