--感受mvc

1、数据库表+初始数据

2、ADO.NET EF +MVC2

显示数据列表

UserController.cs


ZJFEntities db = new ZJFEntities();

public ActionResult Index() //新建试图-->选择强类型-->选择List
{
//取出 UserInfo 表里 的所有数据传递到前台 的IEnumbale接口集合
//传递强类型数据

ViewData.Model = db.UserInfo.AsEnumerable<UserInfo>();
return View();//亦可 return View(db.UserInfo.AsEnumerable<UserInfo>());

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

//
// POST: /User/Create
[HttpPost] //获取post表单提交过来的数据
public ActionResult Create(UserInfo userinfo) //FormCollection
{
try
{
UserInfo adduser = new UserInfo();

adduser.UserName = userinfo.UserName;

adduser.Age=userinfo.Age;

db.UserInfo.AddObject(adduser);
db.SaveChanges(); //同步到数据库中
return RedirectToAction("Index");
}
catch
{
return View();
}
}


//UserName--和View中传递的参数名称要一致【约定优于配置】
public ActionResult CheckUserName(string UserName) //也可以返回JsonResult-->ajax验证用户名是否存在 返回 json格式的数据
{
bool flag = false;
var checkusername=(from u in db.UserInfo
where u.UserName == UserName
select u.UserName).Count(); //查看该UserName的个数【检测数据库表是否有该用户】
if (checkusername<= 0)
{
flag = true;
}
return Json(flag, JsonRequestBehavior.AllowGet); //返回json数据
}

}


3、view 前端校验

<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#form1").validate({
rules: {
UserName: {
required: true,
minlength: 5,
remote: "/User/CheckUserName"
},
Age: {
required: true,
maxlength: 3
}
},
messages: {
UserName: {
required: "兔说:请输入用户名!",
minlength: "兔说:长度不能小于5位!",
remote: "兔说:此用户名已经存在"
},
Age:{
required: "兔说:年纪不能为空",
maxlength: "兔说:个数必须小于3"
}
}
});
});
</script>

<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm("create", "user", FormMethod.Post, new { id = "form1" }))
{%>
<%: Html.ValidationSummary(true)%>
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
<%: Html.LabelFor(model => model.UserName)%>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.UserName)%>
<%: Html.ValidationMessageFor(model => model.UserName)%>
</div>
<div class="editor-label">
<%: Html.LabelFor(model => model.Age)%>
</div>
<div class="editor-field">
<%: Html.TextBoxFor(model => model.Age)%>
<%: Html.ValidationMessageFor(model => model.Age)%>
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink("Back to List", "Index") %>
</div>


4、后台校验

//让目标类和当前类共享元数据信息
[MetadataType(typeof(UserValidate))]
public partial class UserInfo
{

}

public class UserValidate
{
//目标类里的所有属性都可以在下面进行校验规则定义
[Required(ErrorMessage = "*")]

public int id { get; set; }

[Required(ErrorMessage = "* 名字不能为空")]
public string UserName { get; set; }
}


[Range(10,130)]
[Required(ErrorMessage="*必填项")]
public int Id { get; set; }

[StringLength(10,ErrorMessage="*<10")]
public string Content { get; set; }
[RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$")]
]
public string B{ get; set; }


5、结果

-- 01:初始数据

---------------------------02 mvc 使用ajax 用户名是否存在----------------------------

-----------------------03数据验证-------------------------

---------------------------04 mvc 输入有效数据-------------------------



----------------------------05显示列表------------------------------------------






更多相关文章

  1. 我需要从jquery ajax post中撤回数据并将数组分解为单独的输出
  2. [入门篇]Jquery读取.Net WebService Json数据
  3. jQuery在点击按钮上迭代/循环遍历数据表
  4. 代替jquery $.post 跨域提交数据的N种形式
  5. 如何在Ajax.ActionLink中获取表单中的输入数据?
  6. 开发学习Jquery实例---双击表格弹出模态对话框,编辑提交数据
  7. 执行Django数据库值的计算:视图。py或Javascript模板吗?
  8. jquery 如何获取json指定键为指定值的另一个指定键的值,该值还是
  9. Jquery 传json格式数据到后台,后台反序列化得到一个集合list

随机推荐

  1. malloc函数的用法
  2. 静态变量和动态变量
  3. c语言eps是什么意思
  4. srand(time(null))函数是什么意思
  5. c语言定义函数
  6. cr是什么意思?
  7. srand(time(0))函数是什么意思
  8. for(;;)什么意思
  9. if是什么意思
  10. 字符串赋值是什么意思