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 ...
随机推荐
- ECMAScript 6 和数组的新功能
Array. @@iterator 返回一个包含数组键值对的迭代器对象,可以通过同步调用得到数组元素的键值对 copyWithin 复制数组中一系列元素到同一数组指定的起始位置 entries 返回包 ...
- Python版GPA计算器
最近在网申投简历时遇到一个需要计算GPA的问题,想起自己在上学时写的Excel公式版GPA计算器略显low,而且操作也比较复杂,于是一时兴起,写了个Python版的,在此分享给大家,也算是跟上时代的浪 ...
- PSP第二次总结
项目计划总结: 姓名:李志强 日期:2017/12/06 听课 编程 阅读课本 准备考试 日总计 周日11.26 周一 100 100 周二 ...
- 【Android多线程】异步信息处理机制
https://www.bilibili.com/video/av65170691?p=3 (本文为此视频听课笔记) 一.线程和线程之间为什么要进行通讯 各线程之间要传递数据 二.线程和线程之间如何通 ...
- Vulnhub_DC8 记录
目录 DC8 经验 & 总结 步骤流水 信息搜集 80端口 获取Shell 提权 DC8 经验 & 总结 对页面的功能和对应的url要敏感. 所有的功能都要测试,要雨露均沾. 提示说的 ...
- https和http的主要区别
HTTPS和HTTP的区别主要如下: 1.https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用. 2.http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输 ...
- linux服务器自动备份与删除postgres数据库数据
1.先创一个back.sh 文件,授权,然后在下面这个文件添加脚本 export PGPASSWORD='123456' #这是登录服务器密码cur_time=`date +%Y%m%d ...
- 吴裕雄--天生自然ORACLE数据库学习笔记:SQL语言基础
select empno,ename,sal from scott.emp; SELECT empno,ename,sal FROM scott.emp; selECT empno,ename,sal ...
- Python数据类型-5 元组
元组 我们知道,用方括号括起来的是列表,那么用圆括号括起来的是什么,是元组. 元组也是序列结构,但是是一种不可变序列,你可以简单的理解为内容不可变的列表.除了在内部元素不可修改的区别外,元组和列表的用 ...
- Codeforces Round #588 (Div. 2)D(思维,多重集)
#define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;long long a[7007],b[700 ...