控制器

 
 

public class NewHomeController : Controller

    {

        // GET: /NewHome/

        public ActionResult Index()

        {

            int hour = DateTime.Now.Hour;

            ViewBag.Greeting = hour < 12 ? "早上好!" : "下午好!";

            return View();

        }

        [HttpGet]

        public ViewResult RsvpForm()

        {

            return View();

        }

  
 

        [HttpPost]

        public ViewResult RsvpForm(GuestResponse guestResponse)

        {

            if (ModelState.IsValid)

            {

                //发送Email

                return View("Thanks", guestResponse);

            }

            else

            {

                return View();

            }       

        }

    }

 
 

视图 Index.cshtml

 
 

@{

    Layout = null;

}

 
 

<!DOCTYPE html>

 
 

<html>

<head>

    <meta name="viewport" content="width=device-width" />

    <title>Index</title>

</head>

<body>

<div>

    @ViewBag.Greeting World(from the view)

    <p>我们将举办一场聚会。</p>

    @Html.ActionLink("RSVP Now","RsvpForm")

</div>

</body>

</html>

 
 

视图 RsvpForm.cshtml

 
 

@model EF6.Models.GuestResponse

@{

    Layout = null;

}

 
 

<!DOCTYPE html>

 
 

<html>

<head>

    <meta name="viewport" content="width=device-width" />

    <title>RsvpForm</title>

    <link rel="stylesheet" type="text/css" href="@Url.Content("~/CSS/Html.error.css")"/>

</head>

<body>

    @using (Html.BeginForm())

    {

        @Html.ValidationMessageFor(x=>x.Name)

        <p>Your name: @Html.TextBoxFor(x => x.Name) </p>

        @Html.ValidationMessageFor(x => x.Email)

        <p>Your email: @Html.TextBoxFor(x => x.Email)</p>

        @Html.ValidationMessageFor(x => x.Phone)

        <p>Your phone: @Html.TextBoxFor(x => x.Phone)</p>

        @Html.ValidationMessageFor(x => x.WillAttend)

        <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 can't come",Value = bool.FalseString}

            }, "Choose an option")

        </p>

        <input type="submit" value="Submit RSVP" />

    }

</body>

</html>

 
 

视图 Thanks.cshtml

 
 

@{

    Layout = null;

}

 
 

<!DOCTYPE html>

<html>

<head>

    <meta name="viewport" content="width=device-width" />

    <title>Thanks</title>

</head>

<body>

    <h1>Thank you, @Model.Name!</h1>

    @if (Model.WillAttend == true)

    {

        @:It's great that you're coming. The drinks are already in the fridge!

}

    else

    {

        @:Sorry to hear that you can't make it, but thanks for letting us know.

}

</body>

</html>

 
 

 
 

样式 CSS/Html.error.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}

.field-validation-valid{display: none}

《精通ASP.NET MVC5》第2章 第一个MVC应用程序的更多相关文章

  1. 第六章第一个linux个程序:统计单词个数

    第六章第一个linux个程序:统计单词个数 从本章就开始激动人心的时刻——实战,去慢慢揭开linux神秘的面纱.本章的实例是统计一片文章或者一段文字中的单词个数.  第 1 步:建立 Linu x 驱 ...

  2. 第一章 第一个spring boot程序(转载)

    第一章 第一个spring boot程序 本编博客转发自:http://www.cnblogs.com/java-zhao/p/5324185.html   环境: jdk:1.8.0_73 mave ...

  3. 第一个 MVC 应用程序(上半部分)(《精通 ASP.NET MVC5》 的第二章)

    本章将使用 ASP.NET MVC 框架创建一个简单的数据录入应用程序. 笔者会将过程分解成一个个的步骤,以便能够看出如何构造 ASP.NET MVC 应用程序.(对于一些未进行解释的内容,笔者提供了 ...

  4. ASP.NET MVC5 第4章

    参考资料<ASP.NET MVC5 高级编程>第5版 第4章 模型 本章所探讨的模型是要显示.保存.创建.更新和删除的对象. 基架指使用 MVC 提供的工具为每个模型对象的标准索引构建.创 ...

  5. Pro ASP.NET MVC –第二章 第一个MVC程序

    学习一个软件开发框架的最有效的方式就是了解并使用它.在本章,你将会创建一个简单基于ASP.NET MVC Framework的数据-实体应用程序.我们会该程序划分成若干小块,每次介绍一个部分,以便你能 ...

  6. ASP.NET + MVC5 入门完整教程八 -—-- 一个完整的应用程序(上)

    https://blog.csdn.net/qq_21419015/article/details/80509513 SportsStore 1.开始创建Visual Studio 解决方案和项目这里 ...

  7. ASP.NET + MVC5 入门完整教程三 (下) ---MVC 松耦合

    建立松耦合组件 MVC 模式最重要的特性之一视他支持关注分离,希望应用程序中的组件尽可能独立,只有很少的几个可控依赖项.在理想的情况下,每个组件都不了解其他组件,而只是通过抽象接口来处理应用程序的其他 ...

  8. ASP.NET MVC3入门教程之第一个WEB应用程序

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=91&extra=page%3D1 上一节,我们已经搭建好了AS ...

  9. 《精通ASP.NET MVC5》第7章 SportStore:一个真正的应用程序(1)

    7.1 开始 7.1.1 解决方案 个工程. 1. 一个域模块工程. 2.一个MVC4应用. 3.一个单元测试工程.         现在我们就创建一个名为 SportsStore 的空 soluti ...

随机推荐

  1. 宏ut_2pow_round

    计算 m的整数倍 不大于n #define ut_2pow_round(n, m) ((n) & ~((m) - 1)) #include <stdio.h>#include &l ...

  2. Ajax的“dataType”乱用的陷阱

    $.doAjax({ url : "areaAction_synchronizeArea.do", data : { 'vrvRangeUrl' : synAreaHTTP ,'v ...

  3. Ajax、Comet与Websocket

    从 http 协议说起 1996年IETF  HTTP工作组发布了HTTP协议的1.0版本 ,到现在普遍使用的版本1.1,HTTP协议经历了17 年的发展.这种分布式.无状态.基于TCP的请求/响应式 ...

  4. Web网站的性能测试工具

    随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器 ...

  5. Java [Leetcode 189]Rotate Array

    题目描述: Rotate an array of n elements to the right by k steps. For example, with n = 7 and k = 3, the ...

  6. H264 帧结构分析、帧判断

    http://blog.csdn.net/dxpqxb/article/details/7631304 H264以NALU(NAL unit)为单位来支持编码数据在基于分组交换技术网络中传输. NAL ...

  7. MySQL操作备忘录

    在mysql包中,mysqld是数据库服务器,mysql是客户端,mysqladmin则用于管理数据库服务器的信息,如用户密码等. 关于安装: 1.在d:/sftwr/mysql/bin目录下: my ...

  8. 鼠标悬停css3动画效果

    下载Demo 效果预览 html: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  9. IOS 多级列表展开控件

    项目中实现了一个可以多级展开的列表控件.每次展开都是互斥的,就是说,展开一个cell 就会关闭其他展开的层. 可以呈现的效果如下图.第一个图片是应用中实现的效果.第二个是Demo中的效果.如果有新的需 ...

  10. HDU 5122 K.Bro Sorting

    K.Bro Sorting Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others) Tot ...