控制器

 
 

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. QSettings读写注册表、配置文件

    简述 一般情况下,我们在开发软件过程中,都会缓存一些信息到本地,可以使用轻量级数据库sqlite,也可以操作注册表.读写配置文件. 关于QSettings的使用前面已经介绍过了,比较详细,见" ...

  2. BZOJ_1028_[JSOI2007]_麻将_(模拟+贪心)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1028 同一种花色的牌,序数为\(1,2,...,n\).定义"和了"为手上 ...

  3. BZOJ2253: [2010 Beijing wc]纸箱堆叠

    题解: 其实就是求三维偏序最长链.类似于三维逆序对,我们可以用树状数组套平衡树来实现. DP方程 :f[i]=max(f[j]+1) a[j]<a[i] 我们按一维排序,另一位建立树状数组,把第 ...

  4. centos使用denyhosts的问题,会将自己的IP自动加到hosts.deny的解决办法。

    先吐槽, 很多网站\博客,技术文章也玩伪原创, 害人不浅. 全TMD是COPY, COPY, COPY过来. 拷过来就算了, 你TMD还改了其中的内容... 改成错的.然后众多网站转载, 将错进行到底 ...

  5. 【转】Masonry介绍与使用实践(快速上手Autolayout)

    原文网址:http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> aut ...

  6. HDU 4422 The Little Girl who Picks Mushrooms

    题意:一共有5座山,已知小女孩在n座山采了n篮蘑菇,如果n小于5则在其他的山里采了任意重量的蘑菇,给出每篮蘑菇的重量,她回去的时候会遇到仨女巫要她交出三篮蘑菇的重量和恰好为1024的倍数,否则就把她的 ...

  7. c# Chart设置样式

    一.chart属性熟悉 能够对C# chart控件属性熟悉起帮助的code, 现在分享给大家,Chart Operate Demo Code Download,如有帮助,别忘点个赞. Chart    ...

  8. Delphi 使用串口模拟工具进行串口程序开发调试

      版权声明:本文为博主原创文章,如需转载请注明出处及作者. 本文由小李专栏原创,转载需注明出处:[http://blog.csdn.net/softwave/article/details/8907 ...

  9. HDU 2227-Find the nondecreasing subsequences(dp+BIT优化)

    题意: 给你一个序列a[],求它的不降子序列的个数 分析: dp[i]表示以i结尾不降子序列的个数,dp[i]=sum(dp[j])+1(j<i&&a[j]<=a[i]); ...

  10. 设置layoutControl1 中的 控件的 focus

    设置 layoutControl1 中的layoutControl EnableAutoTabOrder 为 false; this.layoutControl1.ActiveControl = th ...