• View-Control-Model基础,强类型视图,添加验证 Sample


    ViewsHomeIndex.cshtml

    @*通过Binder机制把表单Post的数据赋给参数对象对应的属性*@
    @model MvcHelloWorld.Models.Person

    @{
        ViewBag.Title = "Index";
    }

    <div>
    <h1>Please Input Your Information</h1>
    @using (Html.BeginForm("SendInformation","Home"))
    {
        <p>@Html.ValidationSummary()</p>
        <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>Gender:
            @Html.DropDownListFor(x=>x.Gender,
                new[]{
                new SelectListItem(){Text="I am boy",Selected=true,Value="Male"},
                new SelectListItem(){Text="I am girl",Selected=false,Value="Female"},
                },"Please select your gender")</p>
        <p><input type="submit" value="Submit Your Information"/></p>
    }
    </div>

    ViewsHomeWelcome.cshtml

    @{
        //显示当前页面的标题的
        ViewBag.Title = "Welcome";
    }

    <h2>@ViewBag.name Welcome</h2>

    ModelsHomeModels.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;

    //验证必须应用该命名空间,在页面里添加@Html.ValidationSummary(),在Action里添加
    //if(ModelState.IsValid)
    //{
    //    return Content("Thank You," + person.Name + "," + person.Email + "," + person.Phone + "," + person.Gender);
    //}
    //else
    //{
    //    return View("Index");
    //}
    using System.ComponentModel.DataAnnotations;

    namespace MvcHelloWorld.Models
    {
        public class Person
        {
            [Required(ErrorMessage="Please enter your name")]
            public string Name { get; set; }

            [Required(ErrorMessage="Please enter your email address")]
            public string Email { get; set; }

            [Required(ErrorMessage=("Please enter your phone number"))]
            public string Phone { get; set; }

            [Required(ErrorMessage="Please select your gender")]
            public string Gender { get; set; }

        }
    }

    ControllersHomeController.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using MvcHelloWorld.Models;

    namespace MvcHelloWorld.Controllers
    {
        public class HomeController : Controller
        {
            //
            // GET: /Home/

            public ActionResult Index()
            {
                return View();
            }

            ////系统默认请求被路由到HomeController和Index这个Action
            //public string Index()
            //{
            //    //直接写字符串到客户端,可以不用添加 Index.cshtml 页面
            //    return "<h2>Index action returns string 'Hello world' directly</h2>";
            //}

            //返回非字符串, 需要添加 Welcome.cshtml
            public ActionResult Welcome()
            {
                //ViewBag是Controller定义的一个动态类型的属性,意味着你可以给他添加任何属性,在编译时动态类型的属性是不检查的
                //页面可通过 @ViewBag.XX 直接调用值
                ViewBag.name = "Welcome action returns View to show ViewBag name";
                return View();
            }


            public ActionResult SendInformation(Person person)
            {
                if(ModelState.IsValid)
                {
                    return Content("Thank You," + person.Name + "," + person.Email + "," + person.Phone + "," + person.Gender);
                }
                else
                {
                    return View("Index");
                }
            }

        }
    }

  • 相关阅读:
    jboss项目迁移至WebLogic12
    数据库字段关联更新
    清理ms sql server 大日志文件数据
    tool class
    pwn学习日记Day17 《程序员的自我修养》读书笔记
    pwn学习日记Day16 pwn原理理解
    pwn学习日记Day15 《程序员的自我修养》读书笔记
    pwn学习日记Day14 《程序员的自我修养》读书笔记
    pwn学习日记Day13 《程序员的自我修养》读书笔记
    pwn学习日记Day12 《程序员的自我修养》读书笔记
  • 原文地址:https://www.cnblogs.com/ganting/p/4803883.html
Copyright © 2020-2023  润新知