1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.ComponentModel.DataAnnotations;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Mvc;
  8.  
  9. namespace MvcModelApp
  10. {
  11.  
  12. [MetadataType(typeof(UserMetadata))]
  13. public partial class tb_User
  14. {
  15. public string RePwd { get; set; }
  16. }
  17.  
  18. public class UserMetadata
  19. {
  20. [DisplayName("用户名")]
  21. [Remote("NotExitesUserName", "Home")]
  22. public string UserName { get; set; }
  23. [DisplayName("备注")]
  24. [DataType(DataType.MultilineText)]
  25. public string Remark { get; set; }
  26. [DisplayName("年龄")]
  27. [Range(, )]
  28. public int Age { set; get; }
  29.  
  30. [DisplayName("密码")]
  31. [PasswordPropertyText]
  32. public string Pwd { get; set; }
  33.  
  34. [PasswordPropertyText]
  35. [DisplayName("重述密码")]
  36. [System.Web.Mvc.Compare("Pwd")]
  37. public string RePwd { get; set; }
  38.  
  39. [Email]
  40. public string Email { get; set; }
  41. }
  42.  
  43. public class EmailAttribute : RegularExpressionAttribute
  44. {
  45. public EmailAttribute()
  46. : base(@"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$")
  47. { }
  48. }
  49. }
  1. //------------------------------------------------------------------------------
  2. // <auto-generated>
  3. // This code was generated from a template.
  4. //
  5. // Manual changes to this file may cause unexpected behavior in your application.
  6. // Manual changes to this file will be overwritten if the code is regenerated.
  7. // </auto-generated>
  8. //------------------------------------------------------------------------------
  9. 这个是ADO.NET EF 自动生成的类
  10. namespace MvcModelApp
  11. {
  12. using System;
  13. using System.Collections.Generic;
  14. using System.ComponentModel;
  15. using System.ComponentModel.DataAnnotations;
  16. using System.Web.Mvc;
  17.  
  18. public partial class tb_User
  19. {
  20. public int ID { get; set; }
  21. public string UserName { get; set; }
  22. public string Remark { get; set; }
  23. public int Age { get; set; }
  24. public string Pwd { get; set; }
  25. public string Email { get; set; }
  26. }
  27.  
  28. }
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Mvc;
  6.  
  7. namespace MvcModelApp.Controllers
  8. {
  9. public class HomeController : Controller
  10. {
  11. //
  12. // GET: /Home/
  13. private TestMvcEntities db = new TestMvcEntities();
  14. public ActionResult Index()
  15. {
  16. var list = db.tb_User.ToList();
  17. return View(list);
  18. }
  19.  
  20. public ActionResult Register()
  21. {
  22. tb_User model = new tb_User();
  23. return View(model);
  24. }
  25. [HttpPost]
  26. public ActionResult Register(tb_User model)
  27. {
  28. if (ModelState.IsValid)
  29. {
  30. db.tb_User.Add(model);
  31. db.SaveChanges();
  32. return RedirectToAction("Index");
  33. }
  34. else
  35. {
  36. return View();
  37. }
  38.  
  39. }
  40. [HttpGet]
  41. public JsonResult NotExitesUserName()
  42. {
  43. string UserName = Request.Params["UserName"];
  44. var user = db.tb_User.Where(c => c.UserName == UserName).FirstOrDefault();
  45. return user == null ? Json(true, JsonRequestBehavior.AllowGet) : Json(false, JsonRequestBehavior.AllowGet);
  46. }
  47.  
  48. public JsonResult TestArr(List<string> arr)
  49. {
  50. //string ss=
  51. return Json(new {success= });
  52. }
  53.  
  54. }
  55. }
  1. @model IEnumerable<MvcModelApp.tb_User>
  2.  
  3. @{
  4. ViewBag.Title = "Index";
  5. }
  6. <script src="~/Scripts/jquery-1.7.2.min.js"></script>
  7. <script src="~/Scripts/jquery.validate.js"></script>
  8. <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
  9. <h2>Index</h2>
  10.  
  11. <script type="text/javascript">
  12. $(document).ready(function () {
  13.  
  14. //$(":text").map(function () {
  15. // alert($(this).val());
  16. //})
  17.  
  18. var arr = new Array();
  19.  
  20. //var objstr = $(":text").map(function () {
  21. // return $(this).text();
  22. //}).get().join(",");
  23.  
  24. $("#btnTest").click(function () {
  25. // $(":text").each(function () { alert($(this).val());});
  26. $("input[id^='txt']").each(function () {
  27. arr.push($(this).val());
  28. // alert($(this).val());
  29.  
  30. });
  31. // var jsonobj = {"arr":arr,"ljj":"1"};
  32. $.ajax({
  33. type: "POST",
  34. url: "@Url.Action("TestArr", "Home")",
  35. data: JSON.stringify(arr),
  36. contentType: "application/json",
  37. success: function (data, status) {
  38. alert(data);
  39. }
  40. });
  41.  
  42. // var str = arr.join(",");
  43. // alert(str);
  44.  
  45. });
  46.  
  47. });
  48. // var obj =
  49.  
  50. </script>
  51.  
  52. <p>
  53. <input type="text" id="txt1" />
  54. <input type="text" id="txt2" />
  55. <input type="text" id="txt3" />
  56. <input type="text" id="txt4" />
  57.  
  58. <input id="btnTest" type="button" value="测试传递数组对象" />
  59.  
  60. </p>
  61.  
  62. <p>
  63. @Html.ActionLink("Register","Register", "Home")
  64. </p>
  65. <table>
  66. <tr>
  67. <th>
  68. @Html.DisplayNameFor(model => model.RePwd)
  69. </th>
  70. <th>
  71. @Html.DisplayNameFor(model => model.UserName)
  72. </th>
  73. <th>
  74. @Html.DisplayNameFor(model => model.Remark)
  75. </th>
  76. <th>
  77. @Html.DisplayNameFor(model => model.Age)
  78. </th>
  79. <th>
  80. @Html.DisplayNameFor(model => model.Pwd)
  81. </th>
  82. <th>
  83. @Html.DisplayNameFor(model => model.Email)
  84. </th>
  85. <th></th>
  86. </tr>
  87.  
  88. @foreach (var item in Model) {
  89. <tr>
  90. <td>
  91. @Html.DisplayFor(modelItem => item.RePwd)
  92. </td>
  93. <td>
  94. @Html.DisplayFor(modelItem => item.UserName)
  95. </td>
  96. <td>
  97. @Html.DisplayFor(modelItem => item.Remark)
  98. </td>
  99. <td>
  100. @Html.DisplayFor(modelItem => item.Age)
  101. </td>
  102. <td>
  103. @Html.DisplayFor(modelItem => item.Pwd)
  104. </td>
  105. <td>
  106. @Html.DisplayFor(modelItem => item.Email)
  107. </td>
  108. <td>
  109. @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
  110. @Html.ActionLink("Details", "Details", new { id=item.ID }) |
  111. @Html.ActionLink("Delete", "Delete", new { id=item.ID })
  112. </td>
  113. </tr>
  114. }
  115.  
  116. </table>
  1. @model MvcModelApp.tb_User
  2.  
  3. @{
  4. ViewBag.Title = "Register";
  5. }
  6. <script src="~/Scripts/jquery-1.7.2.min.js"></script>
  7. <script src="~/Scripts/jquery.validate.js"></script>
  8. <script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
  9. <h2>Register</h2>
  10. @using (Html.BeginForm("Register","Home",null,FormMethod.Post,new {id="form1"}))
  11. {
  12. <table>
  13. <tr>
  14. <td>@Html.Display("UserName")</td>
  15. <td>@Html.TextBoxFor(x=>x.UserName)@Html.ValidationMessageFor(x=>x.UserName)</td>
  16. </tr>
  17. <tr>
  18. <td>@Html.DisplayFor(x=>x.Age)</td>
  19. <td>@Html.TextBoxFor(x=>x.Age)@Html.ValidationMessageFor(x=>x.Age)</td>
  20. </tr>
  21. <tr>
  22. <td>@Html.DisplayFor(x=>x.Pwd)</td>
  23. <td>@Html.TextBoxFor(x=>x.Pwd)@Html.ValidationMessageFor(x=>x.Pwd)</td>
  24. </tr>
  25. <tr>
  26. <td>@Html.DisplayFor(x=>x.RePwd)</td>
  27. <td>@Html.TextBoxFor(x=>x.RePwd)@Html.ValidationMessageFor(x=>x.RePwd)</td>
  28. </tr>
  29. <tr>
  30. <td>@Html.DisplayFor(x=>x.Email)</td>
  31. <td>@Html.TextBoxFor(x=>x.Email)@Html.ValidationMessageFor(x=>x.Email)</td>
  32. </tr>
  33. <tr>
  34. <td>@Html.DisplayFor(x=>x.Remark)</td>
  35. <td>@Html.TextBoxFor(x=>x.Remark)@Html.ValidationMessageFor(x=>x.Remark)</td>
  36. </tr>
  37. <tr>
  38. <td colspan=""><input type="submit" value="注册"/></td>
  39. </tr>
  40.  
  41. </table>
  42. }

Model Validation 和测试Post参数的更多相关文章

  1. 训练集(train set) 验证集(validation set) 测试集(test set)

    转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...

  2. <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解

    MVC 3 数据验证 Model Validation 详解  再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...

  3. [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)

    在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...

  4. AI---训练集(train set) 验证集(validation set) 测试集(test set)

    在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...

  5. 训练集(train set) 验证集(validation set) 测试集(test set)。

    训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...

  6. Model Validation in ASP.NET Web API

    Model Validation in ASP.NET Web API 原文:http://www.asp.net/web-api/overview/formats-and-model-binding ...

  7. Model Validation in Asp.net MVC

    原文:Model Validation in Asp.net MVC 本文用于记录Pro ASP.NET MVC 3 Framework中阐述的数据验证的方式. 先说服务器端的吧.最简单的一种方式自然 ...

  8. paip.提升性能---mysql 性能 测试以及 参数调整.txt

    paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...

  9. [转载]SOAPUI压力测试的参数配置

    原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...

随机推荐

  1. JS bind()方法、JS原生实现bind()

    一.arguments的含义 // arguments 是一个对应于传递给函数的参数的类数组对象 function a(){ console.log(arguments); } a(); // Arg ...

  2. !important面试汇总啊

    https://www.jianshu.com/p/feab89b88d6b https://juejin.im/post/5c64d15d6fb9a049d37f9c20#heading-57

  3. Cisco AP-如何识别思科胖瘦AP

    思科的胖瘦AP识别的方式不止一种,这里简单的总结一些我了解到的方式: 1.根据思科AP的型号 这个和思科不同时期的产品有关系,老一点的和新一些的AP命名上存在差别,这里简单举例: 类型1:AIR-LA ...

  4. POJ3662 Telephone Lines (dijkstra+二分)

    Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is uncoop ...

  5. Update(stage3):第1节 redis组件:8、主从复制架构;9、Sentinel架构

    8.redis的主从复制架构 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(ma ...

  6. Python 基础之面向对象之装饰器@property

    一.定义 装饰器@property可以把方法变成属性使用作用: 控制类内成员的获取 设置 删除获取 @property设置 @自定义名.setter删除 @自定义名.deleter 二.具体实现 1. ...

  7. Linux中常用命令的使用(一)

    这次只讲常用命令 先说命令的组成:命令一般由 (选项.命令.参数) 组成 下面就从开启一个Ubuntu开始说起 1.用户登录:在putty环境下,输完用户名在输入密码 别人想知道你用的linux系统 ...

  8. [转]使用Struts 2防止表单重复提交

    转自 用户重复提交表单在某些场合将会造成非常严重的后果.例如,在使用信用卡进行在线支付的时候,如果服务器的响应速度太慢,用户有可能会多次点击提交按钮,而这可能导致那张信用卡上的金额被消费了多次.因此, ...

  9. centos将celery写入系统服务

    第一步: 在/etc/下创建目录 celery/celery.conf 代码如下: CELERYD_NODES='w1 w2 w3' # 启动的celery进程的进程名 CELERY_BIN='/ro ...

  10. P1025数的划分

    P1025数的划分 #include <iostream> using namespace std; int n,k; int cnt; void dfs(int s,int step,i ...