• MVC 小demo


    .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;
    }
    Style.css
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Web;
    
    namespace PartyInvites.Models
    {
        public class GuestResponse
        {
            [Required(ErrorMessage = "Please enter your name")]
            public string Name { get; set; }
            [Required(ErrorMessage="Please enter your email address")]
            [RegularExpression(".+\@.+\..+",ErrorMessage="Please enter a valid email address")]
            public string Email { get; set; }
            [Required(ErrorMessage="Please enter your phone number")]
            public string Phone { get; set; }
            [Required(ErrorMessage="Please specify whether you'll attend")]
            public bool? WillAttend { get; set; }
        }
    }
    Model__GuestResponse.cs

    在view文件夹中,Home控制器内存在3个主视图

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <link href="~/Content/bootstrap.css" rel="stylesheet" />
        <link href="~/Content/bootstrap-theme.css" rel="stylesheet" />
        <title>Index</title>
        <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.<br />(To do: sell it better. Add pictures or something.)</h2>
            <h3>And you are invited</h3>
            <div class="btn btn-success">
                @Html.ActionLink("RSVP Now", "RsvpForm")
            </div>
        </div>
    </body>
    </html>
    View→Home→Index.cshtml
    @model PartyInvites.Models.GuestResponse
    
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <link href="~/Content/bootstrap.css" rel="stylesheet" />
        <link href="~/Content/bootstrap-theme.min.css" rel="stylesheet" />
        <link href="~/Content/style.css" rel="stylesheet" />
        <title>RsvpForm</title>
    </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" name="name" value="Submit RSVP" /></div> 
                }
            </div>
        </div>
    </body>
    </html>
    View→Home→RsvpForm.cshtml
    @model PartyInvites.Models.GuestResponse
    
    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Thanks</title>
    </head>
    <body>
        <div>
            <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 { 
                @:Sory to hear that you can't make it,but thanks for letting us know.
            }
        </div>
    </body>
    </html>
    View→Home→Thanks.cshtml

    controller

    using PartyInvites.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace PartyInvites.Controllers
    {
        public class HomeController : Controller
        {
            //
            // GET: /Home/
            //public ActionResult Index()
            //{
            //    return View();
            //}
            public ViewResult Index() {
                int hour = DateTime.Now.Hour;
                ViewBag.Greeting = hour < 12 ? "Good Morning" : "Good Afternoon";
                return View();
            }
            public ViewResult RsvpForm() {
                return View();
            }
            [HttpPost]
            public ViewResult RsvpForm(GuestResponse guestResponse)
            {
                if (ModelState.IsValid)
                {
                    return View("Thanks", guestResponse);
                }
                else {
                    return View();
                }
            }
        }
    }
    HomeController.cs
  • 相关阅读:
    人生中对我影响最大的三位老师
    自我介绍
    对我影响较大的三位老师
    自我介绍
    Java入门到精通——基础篇之static关键字
    天猫优惠券面值可以随意修改
    常用的PC/SC接口函数
    批量删除本地指定扩展名文件工具
    算法:C++排列组合
    Java入门到精通——基础篇之面向对象
  • 原文地址:https://www.cnblogs.com/vichin/p/8454234.html
Copyright © 2020-2023  润新知