Model Validation 和测试Post参数
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcModelApp
{ [MetadataType(typeof(UserMetadata))]
public partial class tb_User
{
public string RePwd { get; set; }
} public class UserMetadata
{
[DisplayName("用户名")]
[Remote("NotExitesUserName", "Home")]
public string UserName { get; set; }
[DisplayName("备注")]
[DataType(DataType.MultilineText)]
public string Remark { get; set; }
[DisplayName("年龄")]
[Range(, )]
public int Age { set; get; } [DisplayName("密码")]
[PasswordPropertyText]
public string Pwd { get; set; } [PasswordPropertyText]
[DisplayName("重述密码")]
[System.Web.Mvc.Compare("Pwd")]
public string RePwd { get; set; } [Email]
public string Email { get; set; }
} public class EmailAttribute : RegularExpressionAttribute
{
public EmailAttribute()
: base(@"^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$")
{ }
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
这个是ADO.NET EF 自动生成的类
namespace MvcModelApp
{
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc; public partial class tb_User
{
public int ID { get; set; }
public string UserName { get; set; }
public string Remark { get; set; }
public int Age { get; set; }
public string Pwd { get; set; }
public string Email { get; set; }
} }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace MvcModelApp.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
private TestMvcEntities db = new TestMvcEntities();
public ActionResult Index()
{
var list = db.tb_User.ToList();
return View(list);
} public ActionResult Register()
{
tb_User model = new tb_User();
return View(model);
}
[HttpPost]
public ActionResult Register(tb_User model)
{
if (ModelState.IsValid)
{
db.tb_User.Add(model);
db.SaveChanges();
return RedirectToAction("Index");
}
else
{
return View();
} }
[HttpGet]
public JsonResult NotExitesUserName()
{
string UserName = Request.Params["UserName"];
var user = db.tb_User.Where(c => c.UserName == UserName).FirstOrDefault();
return user == null ? Json(true, JsonRequestBehavior.AllowGet) : Json(false, JsonRequestBehavior.AllowGet);
} public JsonResult TestArr(List<string> arr)
{
//string ss=
return Json(new {success= });
} }
}
@model IEnumerable<MvcModelApp.tb_User>
@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-1.7.2.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<h2>Index</h2>
<script type="text/javascript">
$(document).ready(function () {
//$(":text").map(function () {
// alert($(this).val());
//})
var arr = new Array();
//var objstr = $(":text").map(function () {
// return $(this).text();
//}).get().join(",");
$("#btnTest").click(function () {
// $(":text").each(function () { alert($(this).val());});
$("input[id^='txt']").each(function () {
arr.push($(this).val());
// alert($(this).val());
});
// var jsonobj = {"arr":arr,"ljj":"1"};
$.ajax({
type: "POST",
url: "@Url.Action("TestArr", "Home")",
data: JSON.stringify(arr),
contentType: "application/json",
success: function (data, status) {
alert(data);
}
});
// var str = arr.join(",");
// alert(str);
});
});
// var obj =
</script>
<p>
<input type="text" id="txt1" />
<input type="text" id="txt2" />
<input type="text" id="txt3" />
<input type="text" id="txt4" />
<input id="btnTest" type="button" value="测试传递数组对象" />
</p>
<p>
@Html.ActionLink("Register","Register", "Home")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.RePwd)
</th>
<th>
@Html.DisplayNameFor(model => model.UserName)
</th>
<th>
@Html.DisplayNameFor(model => model.Remark)
</th>
<th>
@Html.DisplayNameFor(model => model.Age)
</th>
<th>
@Html.DisplayNameFor(model => model.Pwd)
</th>
<th>
@Html.DisplayNameFor(model => model.Email)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RePwd)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Remark)
</td>
<td>
@Html.DisplayFor(modelItem => item.Age)
</td>
<td>
@Html.DisplayFor(modelItem => item.Pwd)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
</table>
@model MvcModelApp.tb_User
@{
ViewBag.Title = "Register";
}
<script src="~/Scripts/jquery-1.7.2.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
<h2>Register</h2>
@using (Html.BeginForm("Register","Home",null,FormMethod.Post,new {id="form1"}))
{
<table>
<tr>
<td>@Html.Display("UserName")</td>
<td>@Html.TextBoxFor(x=>x.UserName)@Html.ValidationMessageFor(x=>x.UserName)</td>
</tr>
<tr>
<td>@Html.DisplayFor(x=>x.Age)</td>
<td>@Html.TextBoxFor(x=>x.Age)@Html.ValidationMessageFor(x=>x.Age)</td>
</tr>
<tr>
<td>@Html.DisplayFor(x=>x.Pwd)</td>
<td>@Html.TextBoxFor(x=>x.Pwd)@Html.ValidationMessageFor(x=>x.Pwd)</td>
</tr>
<tr>
<td>@Html.DisplayFor(x=>x.RePwd)</td>
<td>@Html.TextBoxFor(x=>x.RePwd)@Html.ValidationMessageFor(x=>x.RePwd)</td>
</tr>
<tr>
<td>@Html.DisplayFor(x=>x.Email)</td>
<td>@Html.TextBoxFor(x=>x.Email)@Html.ValidationMessageFor(x=>x.Email)</td>
</tr>
<tr>
<td>@Html.DisplayFor(x=>x.Remark)</td>
<td>@Html.TextBoxFor(x=>x.Remark)@Html.ValidationMessageFor(x=>x.Remark)</td>
</tr>
<tr>
<td colspan=""><input type="submit" value="注册"/></td>
</tr>
</table>
}
Model Validation 和测试Post参数的更多相关文章
- 训练集(train set) 验证集(validation set) 测试集(test set)
转自:http://www.cnblogs.com/xfzhang/archive/2013/05/24/3096412.html 在有监督(supervise)的机器学习中,数据集常被分成2~3个, ...
- <转>ASP.NET学习笔记之MVC 3 数据验证 Model Validation 详解
MVC 3 数据验证 Model Validation 详解 再附加一些比较好的验证详解:(以下均为引用) 1.asp.net mvc3 的数据验证(一) - zhangkai2237 - 博客园 ...
- [机器学习] 训练集(train set) 验证集(validation set) 测试集(test set)
在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...
- AI---训练集(train set) 验证集(validation set) 测试集(test set)
在有监督(supervise)的机器学习中,数据集常被分成2~3个即: 训练集(train set) 验证集(validation set) 测试集(test set) 一般需要将样本分成独立的三部分 ...
- 训练集(train set) 验证集(validation set) 测试集(test set)。
训练集(train set) 验证集(validation set) 测试集(test set). http://blog.sina.com.cn/s/blog_4d2f6cf201000cjx.ht ...
- 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 ...
- Model Validation in Asp.net MVC
原文:Model Validation in Asp.net MVC 本文用于记录Pro ASP.NET MVC 3 Framework中阐述的数据验证的方式. 先说服务器端的吧.最简单的一种方式自然 ...
- paip.提升性能---mysql 性能 测试以及 参数调整.txt
paip.提升性能---mysql 性能 测试以及 参数调整.txt 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://b ...
- [转载]SOAPUI压力测试的参数配置
原文地址:SOAPUI压力测试的参数配置作者:goooooodlife The different Load Strategies available in soapUI and soapUI Pro ...
随机推荐
- CN109241772A发票区块链记录方法、装置、区块链网关服务器和介质(腾讯)
学习笔记-2 CN109241772A发票区块链记录方法.装置.区块链网关服务器和介质(腾讯) 解决什么问题? 让发票信息记录到区块链的情况下减少发票信息泄露 链上有什么数据? 发行发票事件信息(发票 ...
- 吴裕雄 python 神经网络——TensorFlow ckpt文件保存方法
import tensorflow as tf v1 = tf.Variable(tf.random_normal([1], stddev=1, seed=1)) v2 = tf.Variable(t ...
- Unity中调用Windows窗口选择文件
1.OpenFileName数据接收类,如下: using UnityEngine; using System.Collections; using System; using System.Runt ...
- cmake 环境安装与使用
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程).他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的 ...
- 01-JAVA语言基础(动手动脑)
一.一个JAVA类文件中只能有一个public类吗? 01-JAVA语言基础.ppt第22页“一个Java源文件中可以写多个类,但其中只能有一个类是“公有(public)”的,并且Java要求源文件名 ...
- 04在eclipse当中使用gitee
一.使用Bash连接GitHub时作了哪些事情 1.生成公钥 2.在GitHub上配置SSHKEY 3.创建关联 4.关联远程仓库 5.向远程仓库推送数据 6.拉取数据 二.把项目分享到gitee ...
- C/C++网络编程7——多进程服务器端之fork函数
通过前面几节的内容,我们已经可以实现基本的C/S结构的程序了,但是当多个客户端同时向服务器端请求服务时,服务器端只能按顺序一个一个的服务,这种情况下,客户端的用户是无法忍受的.所以虚实现并发的服务器端 ...
- Redis常用命令操作
字符串类型: * 存储:set key value * 获取:get key * 无值返回nil * 删除:del key 哈希类型 hash: * 存储:hset key field value * ...
- ubuntu13.10更新sources.list
步骤: 1>设置网络连接方式,NAT 2>自动获取ip address 10.0.2.15 3>更新源soureces.list soureces.list deb http://m ...
- The 2019 ICPC China Nanchang National Invitational and International Silk-Road Programming Contest - F.Sequence(打表+线段树)
题意:给你一个长度为$n$的数组,定义函数$f(l,r)=a_{l} \oplus a_{l+1} \oplus...\oplus a_{r}$,$F(l,r)=f(l,l)\oplus f(l,l+ ...