MVC使用Model传值

原创 Laughing  2017-06-30 21:20  阅读 75 次 评论 0 条

传值前提条件

Form方法指定具体的动作、控制器并且方法必须是Post
控制器方法必须添加HttpPost属性

代码

实体类

  1. using System;  
  2. using System.ComponentModel.DataAnnotations;  
  3. using System.Reflection;  
  4.   
  5. namespace Web  
  6. {  
  7.     public class GuestResponse  
  8.     {  
  9.         [Required(ErrorMessage = "请输入姓名")]  
  10.         [StringLength(maximumLength:20,MinimumLength = 1)]  
  11.         [Display(Name="请输入姓名")]  
  12.         public string Name { getset; }  
  13.         [Display(Name="邮箱")]  
  14.         [Required(ErrorMessage = "请输入邮箱")]  
  15.         [DataType(DataType.EmailAddress)]  
  16.         public string Email { getset; }  
  17.         [Required(ErrorMessage = "请输入电话")]  
  18.         public string Phone { getset; }  
  19.         [Required(ErrorMessage = "请选择是否参加", AllowEmptyStrings = false)]  
  20.         public bool? WillAttend { getset; }  
  21.   
  22.         public GuestResponse()  
  23.         {  
  24.               
  25.         }  
  26.     }  
  27. }  

控制器

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.Mvc;  
  6. using System.Web.Mvc.Ajax;  
  7.   
  8.   
  9. namespace Web.Controllers  
  10. {  
  11.     public class HomeController : Controller  
  12.     {  
  13.         public ActionResult Index()  
  14.         {  
  15.             ViewBag.Greeting = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");  
  16.             ViewBag.Title = "首页";  
  17.             return View();  
  18.         }  
  19.   
  20.         [HttpGet]  
  21.         public ActionResult RsvpForm(){  
  22.             return View();  
  23.         }  
  24.   
  25.         [HttpPost]  
  26.         public ViewResult RsvpForm(GuestResponse response){  
  27.             if (ModelState.IsValid)  
  28.             {  
  29.                 ViewBag.Title = "谢谢";  
  30.                 return View(response);  
  31.             }else{  
  32.                 return View();  
  33.             }  
  34.         }  
  35.   
  36.         [HttpPost]  
  37.         public ViewResult Thanks(GuestResponse response){  
  38.             return View(response);  
  39.         }  
  40.     }  
  41. }  

传值页面

  1. @model Web.GuestResponse  
  2.   
  3. <!DOCTYPE html>  
  4. <html>  
  5. <head>  
  6.     <title>回复</title>  
  7.         <script type="text/javascript">  
  8.               
  9.             </script>  
  10. </head>  
  11. <body class="panel panel-error" style="padding-top:10px">  
  12.         @using(Html.BeginForm("Thanks","home",FormMethod.Post)){  
  13.         @Html.ValidationSummary()  
  14.         <p class="text-success">  
  15.         姓名:@Html.TextBoxFor(x=>x.Name,new {@class="form-control"})  
  16.         </p>  
  17.         <p class="text-error">  
  18.         电话:@Html.TextBoxFor(x=>x.Phone,new{@class="form-control"})  
  19.         </p>  
  20.         <p class="text-info">  
  21.         邮箱:@Html.TextBoxFor(x=>x.Email,new{@class="form-control"})  
  22.         </p>  
  23.         <p class="text-warning">  
  24.         是否参加:@Html.DropDownListFor(x=>x.WillAttend,new[]{  
  25.                 new SelectListItem(){Text="是的,我会参加",Value=bool.TrueString},  
  26.                 new SelectListItem(){Text="抱歉,我不能参加",Value=bool.FalseString}  
  27.             },"请选择是否参加",new{@class="form-control"})  
  28.         </p>  
  29.         <div >  
  30.         <input type="submit" id="btnSubmit" value="提交" class="btn btn-primary btn-large"/>  
  31.         </div>  
  32.         }  
  33. </body>  
  34. </html>  

接收值页面

  1. @model Web.GuestResponse  
  2.   
  3. <!DOCTYPE html>  
  4. <html>  
  5. <head>  
  6.     <title>Thanks</title>  
  7. </head>  
  8. <body>  
  9.         <div class="text-center">  
  10.         <h1>谢谢 @Model.Name</h1>  
  11.         </div>  
  12. </body>  
  13. </html>  
本文地址:https://www.lisen.me/use-the-mvc-model-by-value.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情