控制器

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>

ASP.Net简单的交互案例的更多相关文章

  1. Asp.net与Dojo交互:仪器仪表实现

    项目中需要用到仪器仪表的界面来显示实时的采集信息值,于是便遍地寻找,参考了fusionchart和anychart之后,发现都是收费的,破解的又没有这些功能,只好作罢.之后又找遍了JQuery的插件, ...

  2. Prolog学习:基本概念 and Asp.net与Dojo交互:仪器仪表实现

    Asp.net与Dojo交互:仪器仪表实现 项目中需要用到仪器仪表的界面来显示实时的采集信息值,于是便遍地寻找,参考了fusionchart和anychart之后,发现都是收费的,破解的又没有这些功能 ...

  3. ajax交互案例

    数据交互是前端很重要的一部分,静态页是基础,而交互才是网页的精髓.交互又分为人机交互和前后端数据交互,现阶段的互联网下,大部分的网站都要进行前后端数据交互,如何交互呢?交互的流程大概就是前端发送数据给 ...

  4. C#仿google日历asp.net简单三层版本

    网上搜了很多xgcalendar的例子都是Php开发的,而且官方站上的asp.net/MVC版 在vs10 08 都报错. 所以自己重新用三层写了一下希望对大家有帮助 废话不多说了 先看看它都有些什么 ...

  5. 用ASP实现简单的繁简转换

    用ASP实现简单的繁简转换 国际化似乎是一个很流行的口号了,一个站点没有英文版至少也要弄个繁体版,毕竟都是汉字,翻译起来不会那么麻烦:P 一般的繁简转换是使用字典,通过GB的内码算出BIG5字符在字典 ...

  6. java--文件过滤器和简单系统交互

    一.文件过滤器 /** * @Title: getFileByFilter * @Description: 根据正则rege获取给定路径及其子路径下的文件名(注意递归的深度不要太大) * @param ...

  7. ajax简单后台交互

    ajax简单后台交互 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘,让你每每 ...

  8. Python3+Dlib实现简单人脸识别案例

    Python3+Dlib实现简单人脸识别案例 写在前边 很早很早之前,当我还是一个傻了吧唧的专科生的时候,我就听说过人脸识别,听说过算法,听说过人工智能,并且也出生牛犊不怕虎般的学习过TensorFl ...

  9. 使用Java实现简单的斗地主案例

    使用Java实现简单的斗地主案例 案例说明:使用Java实现简单的斗地主洗牌发牌的操作: 具体规则: 共有54张牌,顺序打乱: 三个玩家参与游戏,三人交替摸牌,每人17张牌,最后留三张为底牌(地主牌) ...

随机推荐

  1. Laravel-自定全局函数

    Laravel-自定全局函数 标签(空格分隔): php 习惯了 使用 ThinkPHP 框架,有一个公共方法类在代码编写上会快捷很多,所以有必要在此进行配置一番. 实现 在 app 创建文件夹 He ...

  2. 一天一个算法:求Sn=a+aa+aaa+…+aa…a之和

    /* 求Sn=a+aa+aaa+…+aa…a之值,其中a是一个数字. 例如:2+22+222+…+22222(此时n=5),n由键盘输入.*/ void Function3() { int a,n,s ...

  3. 继承—people

    public class People { private double height;//身高 private double weight;//体重 public double getHeight( ...

  4. java 类和对象1

    编写一个Java应用程序,该程序中有3个类:Lader.Circle和主类A.具体要求如下:Lader类具有类型为double的上底.下底.高.面积属性,具有返回面积的功能,包括一个构造方法对上底.下 ...

  5. ListView优化-ViewHolder缓存

    安卓开发中ListView控件是一个使用频率相当的高级控件,通常用于展示一系列相似度极高的数据,当数据量极大或布局相当复杂时,ListView的性能优化就显得非常重要.所以在开发中不但功能上要满足,而 ...

  6. vue分页组件火狐中出现样式问题

    分页的操作到了火狐浏览器会样式 怎么解决? 其实就是将input的type属性变成了text,因为number属性会变成上下的小箭头

  7. 关于git及其github的使用

    一:序言(就是瞎扯) 人们都说不会使用git和github的程序员都不是好程序员,是的,当我第一次听到的时候有点失望.因为我也不会...但是这句话激起了我学习使用git的动力(其实也没怎么深入的学习) ...

  8. 紫书 例题 10-23 UVa 10213(欧拉公式+高精度)

    用欧拉公式V-E+F=2 V是顶点数,E是边数,F是面数 具体推导见https://blog.csdn.net/QWsin/article/details/53635397 要用高精度 #includ ...

  9. poj--2007--Scrambled Polygon(数学几何基础)

    Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000KB   64bit IO Format: %I64d & %I64u Su ...

  10. 深入Vue的响应式原理

    工作的过程中,有时候会有数据改变但是视图没有更新的问题,作者在vue的官方文档中有提到这个问题,我来总结一下 1.vue的每个组件实例都有对象的watcher实例对象,它会在组件渲染的过程中把属性记录 ...