ASP.Net简单的交互案例
2017-05-19 18:18
225 查看
控制器
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using mvcDemo.Models; // 引入Models namespace mvcDemo.Controllers { public class HomeController : Controller { public ActionResult Index() { int hour = DateTime.Now.Hour; ViewBag.Greeting = hour < 12 ? "Good Morning" : "Goods Afternoon"; return View(); } [HttpGet] public ActionResult RsvpForm() { return View(); } [HttpPost] public ActionResult RsvpForm(GuestResponse guestResponse) { return View("Thanks", guestResponse); } } }
models
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace mvcDemo.Models { public class GuestResponse { public string Name { get; set; } public string Email { get; set; } public string Phone { get; set; } public bool ? WillAttend { get; set; } } }
3.视图Index
<!DOCTYPE html> @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Index</title> <link rel="stylesheet" href=""> </head> <body> <div>@ViewBag.Greeting World!</div> <p>We're going to have an exciting party. <br/> (To do : sell it better. Add pictures or something.) </p> @Html.ActionLink("RSVP Now","RsvpForm"); </body> </html>
RsvpForm
<!DOCTYPE html> @model mvcDemo.Models.GuestResponse @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RsvpForm</title> <link rel="stylesheet" href=""> </head> <body> @using (Html.BeginForm()) { <p>Your name:@Html.TextBoxFor(x => x.Name)</p> <p>Your email:@Html.TextBoxFor(x => x.Email)</p> <p>Your phone:@Html.TextBoxFor(x => x.Phone)</p> <p> Will you attend? @Html.DropDownListFor(x=>x.WillAttend,new[] { new SelectListItem() {Text = "Yes,I'll be there", Value = bool.TrueString },new SelectListItem() {Text = "No,I cant come", Value = bool.FalseString }, },"Choose an option") </p> <input type="submit" value="Submit RSVP"> } </body> </html>
Thanks
<!DOCTYPE html> @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Thanks</title> <link rel="stylesheet" href=""> </head> <body> <h1>Thank you ,@Model.Name!</h1> @if(Model.WillAttend == true) { @:Its greet that you're coming! }else { @:Sorry to hear that! } </body> </html>
增加验证 Models
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations;// 增加验证引入 namespace mvcDemo.Models { public class GuestResponse { [Required(ErrorMessage = "请输入姓名")] public string Name { get; set; } [Required(ErrorMessage = "请输入邮箱")] [RegularExpression(".+\\@.+\\..+",ErrorMessage = "请输入正确的邮箱")] public string Email { get; set; } [Required(ErrorMessage = "请输入号码")] public string Phone { get; set; } [Required(ErrorMessage = "请确认是否参加")] public bool ? WillAttend { get; set; } } }
控制器
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using mvcDemo.Models; // 引入Models namespace mvcDemo.Controllers { public class HomeController : Controller { public ActionResult Index() { int hour = DateTime.Now.Hour; ViewBag.Greeting = hour < 12 ? "Good Morning" : "Goods Afternoon"; return View(); } [HttpGet] public ActionResult RsvpForm() { return View(); } [HttpPost] public ActionResult RsvpForm(GuestResponse guestResponse) { if (ModelState.IsValid) { return View("Thanks", guestResponse); } else { return View(); } } public ActionResult About() { return View(); } public ActionResult Contact() { return View(); } } }
视图层
<!DOCTYPE html> @model mvcDemo.Models.GuestResponse @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RsvpForm</title> <link rel="stylesheet" href=""> </head> <body> @using (Html.BeginForm()) { @Html.ValidationSummary() <p>Your name:@Html.TextBoxFor(x => x.Name)</p> <p>Your email:@Html.TextBoxFor(x => x.Email)</p> <p>Your phone:@Html.TextBoxFor(x => x.Phone)</p> <p> Will you attend? @Html.DropDownListFor(x=>x.WillAttend,new[] { new SelectListItem() {Text = "Yes,I'll be there", Value = bool.TrueString },new SelectListItem() {Text = "No,I cant come", Value = bool.FalseString }, },"Choose an option") </p> <input type="submit" value="Submit RSVP"> } </body> </html>
增加样式Content/Styles.css
.field-validation-error {color: #f00;} .field-validation-valid { display: none;} .input-validation-error { border: 1px solid #f00; background-color: #fee; } .validation-summary-errors { font-weight: bold; color: #f00;} .validation-summary-valid { display: none;}
引入样式
<!DOCTYPE html> @model mvcDemo.Models.GuestResponse @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RsvpForm</title> <link rel="stylesheet" href="~/Content/Styles.css"> <link rel="stylesheet" href=""> </head> <body> @using (Html.BeginForm()) { @Html.ValidationSummary() <p>Your name:@Html.TextBoxFor(x => x.Name)</p> <p>Your email:@Html.TextBoxFor(x => x.Email)</p> <p>Your phone:@Html.TextBoxFor(x => x.Phone)</p> <p> Will you attend? @Html.DropDownListFor(x=>x.WillAttend,new[] { new SelectListItem() {Text = "Yes,I'll be there", Value = bool.TrueString },new SelectListItem() {Text = "No,I cant come", Value = bool.FalseString }, },"Choose an option") </p> <input type="submit" value="Submit RSVP"> } </body> </html>
增加bootstrap特效
<!DOCTYPE html> @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Index</title> <link rel="stylesheet" href="~/Content/bootstrap.css"> <link rel="stylesheet" href="~/Content/bootstrap-theme.css"> <style> .btn a { color: white; text-decoration: none; } body { background-color: #F1F1F1; } </style> </head> <body> <div class="text-center"> <h2>We're going to have an exciting party!</h2> <h3>And you are invited</h3> <div class="btn btn-success"> @Html.ActionLink("RSVP Now", "RsvpForm") </div> </div> </body> </html>
<!DOCTYPE html> @model mvcDemo.Models.GuestResponse @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>RsvpForm</title> <link rel="stylesheet" href="~/Content/Styles.css"> <link rel="stylesheet" href="~/Content/bootstrap.css"> <link rel="stylesheet" href="~/Content/bootstrap-theme.css"> <link rel="stylesheet" href=""> </head> <body> <div class="panel panel-success"> <div class="panel-heading text-center"><h4>RSVP</h4></div> <div class="panel-body"> @using (Html.BeginForm()) { @Html.ValidationSummary() <div class="form-group"> <label>Your name:</label> @Html.TextBoxFor(x => x.Name, new { @class = "form-control" }) </div> <div class="form-group"> <label>Your email:</label> @Html.TextBoxFor(x => x.Email, new { @class = "form-control" }) </div> <div class="form-group"> <label>Your phone:</label> @Html.TextBoxFor(x => x.Phone, new { @class = "form-control" }) </div> <div class="form-group"> <label>Will you attend?</label> @Html.DropDownListFor(x => x.WillAttend, new[] { new SelectListItem() {Text = "Yes, I'll be there", Value = bool.TrueString}, new SelectListItem() {Text = "No, I can't come", Value = bool.FalseString} }, "Choose an option", new { @class = "form-control" }) </div> <div class="text-center"> <input class="btn btn-success" type="submit" value="Submit RSVP" /> </div> } </div> </div> </body> </html>
增加邮件发送提醒
<!DOCTYPE html> @{ Layout = null; } <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Thanks</title> <link href="~/Content/bootstrap.css" rel="stylesheet" /> <link href="~/Content/bootstrap-theme.css" rel="stylesheet" /> <style> body { background-color: #F1F1F1; } </style> </head> <body> @{ try { WebMail.SmtpServer = "smtp.aliyun.com"; WebMail.SmtpPort = 25; WebMail.EnableSsl = false; WebMail.UserName = "diandodo@aliyun.com"; WebMail.Password = "xxxxxxxx"; WebMail.From = "diandodo@aliyun.com"; WebMail.Send("jiqing9006@126.com","RSVP Notification",Model.Name +" is "+ ((Model.WillAttend??false)?"":"not") +"attending" ); } catch(Exception) { @:<b> Sorry - Can't send Email </b> } } <div class="text-center"> <h1>Thank you ,@Model.Name!</h1> <div class="lead"> @if (Model.WillAttend == true) { @:Its greet that you're coming! } else { @:Sorry to hear that! } </div> </div> </body> </html>
相关文章推荐
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- ASP.NET上载简单案例
- asp.net core 身份认证/权限管理系统简介及简单案例
- 两个简单的Demo示例向读者展示Flash和ASP.NET交互原理以及过程
- ASP.NET 中 Web Service 的使用简单案例
- asp.net Core2.0 + Dapper 简单案例
- asp.net中 cookies的应用,自己写的一个简单登陆程序。
- ASP.NET实现的简单的聊天室
- 在ASP.NET系统中实现与EXCEL的交互
- ASP.NET + C#读取ACCESS数据库内容的简单方法
- ASP.Net一些知识点(关于.net与JS如何交互)
- javascript 与 asp.net 的交互
- asp.net 2.0中xml加密太简单了
- asp.net datagrid最简单固定表头方法(转贴)
- 用ASP.NET实现简单的文字水印
- JSP与ASP.NET简单之比较!
- 一个简单的ASP.NET Forms 身份认证
- [ASP.net(C#)]最简单的一个存储过程
- 一个简单的ASP.NET Forms 身份认证
- [ASP/ASP.net]最简单的XML运用