【MVC 2】MVC+EF框架结构实例:注册ID号验证
导读:本篇博客,将通过一个实例,详细介绍MVC+EF的应用。原理性的东西或者说是进一步的解耦和,请看博客: 【框架结构 3】MVC+EF实体框架—原理解析。在这里,仅用MVC框架和一个EF生成的Model层,来实现ID号注册验证。
一、实例介绍
1.1:结构说明
主要是应用MVC+EF的框架,实现注册ID号的验证,当注册ID已存在时,提示用户。在这里面特别说明的是:
1,实现向数据库的访问是利用的数据持久层Model(通过EF映射),语句也不是以前用的SQL语句,而是linq语句。
2,在这个实例中,MVC框架原有的Model层被废弃不用,利用EF生成了Model层,因为实例的逻辑较简单,所以,在controller里面实现了逻辑处理。
3,本例并没有做过多的解耦和(分层),意不在此。
1.2,结构示例
注意:
1,需要将web.config配置文件中的库链接进行配置,可以参考EF生成了app.config里面的链接。
2,保证MVC的框架版本和引入引用中的Entity Framework的版本一致。
3,在本例中,所用到的Ajax函数,详情请参照博客:【Ajax 3】JavaScript封装Ajax。如果不用Ajax进行服务端请求,也可以在视图中利用表单提交,设置按钮类型为submit。
二、实现步骤
2.1,View(Index)
备注:在Ajax中使用到的Test视图是一个空视图
<span style="font-family:KaiTi_GB2312;font-size:18px;"><html>
<head>
<title>MVCdemo</title>
<script src="~/Ajax.js"></script>
<script type="text/javascript">
function test() {
var strId = document.getElementById("test").value;
ajax({
type: "get",
url: '/Test/Test?strID=' + strId,
success: function (data) {
if (data == "yes") {
document.getElementById("strtext").innerHTML = "该ID正在使用";
}else{
document.getElementById("strtext").innerHTML = "该ID号未被使用";
}
}
});
}
</script>
</head>
<body>
@*<form action="Test" method="post">*@
<label >ID号:</label>
<input type="text" id="test" name="test"/>
<label id="strtext"></label>
<br/><br/> <input id="btnRegister" type="button" value="注册" style="margin-left:50px" onclick="test()" />
@*</form>*@
</body>
</html>
</span>
2.2,controller
<span style="font-family:KaiTi_GB2312;font-size:18px;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVCModel;
using System.Data;
using System.Data.SqlClient; namespace TestMvcAndEF.Controllers
{
public class TestController : Controller
{
//
// GET: /Test/ public ActionResult Index()
{
return View();
}
public ActionResult Test(string strID) {
TESTMVCEFEntities db = new TESTMVCEFEntities();
List<basicInfo> list = db.basicInfo.Where(p => p.ID == strID).ToList();
if (list.Count > 0)
{
return Content("yes");
}
else
{
return Content("no");
} }
} }
</span>
2.3,Model层是利用EF直接生成的,这里不做阐述。详情可参照:【框架结构 2】EF实体框架 原理+实例 。
2.4,效果展示
三、个人总结
在实现这个例子的时候,因为在用Ajax的时候,将回调函数写错了,也就是将if语句中的判断==写成了赋值号=,结果导致效果一直都不对,调了很久,这是一个细节上的马虎,却也造成了很大的困扰。解决了就是好的。至此为止,MVC+EF算是告一段落了。原理+示例齐活了,目前没有过多的疑问想要去探索,如果在这一部分还有需要总结学习的,还请读者提点一二,感激不尽。
【MVC 2】MVC+EF框架结构实例:注册ID号验证的更多相关文章
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 ( ...
- MVC中使用EF(2):实现基本的CRUD功能
MVC中使用EF(2):实现基本的CRUD功能 By Tom Dykstra |July 30, 2013 Translated by litdwg Contoso University示例网站 ...
- MVC+UnitOfWork+Repository+EF
MVC+UnitOfWork+Repository+EF UnitOfWork+Repository模式简介: 每次提交数据库都会打开一个连接,造成结果是:多个连接无法共用一个数据库级别的事务,也就无 ...
- C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例
C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...
- 解析ASP.NET Mvc开发之EF延迟加载
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 ------------------------ ...
- 解析ASP.NET Mvc开发之EF延迟加载 分类: ASP.NET 2014-01-04 01:29 4017人阅读 评论(1) 收藏
目录: 从明源动力到创新工场这一路走来 解析ASP.NET WebForm和Mvc开发的区别 解析ASP.NET 和Mvc开发之查询数据实例 ----------------------------- ...
- ASP.NET MVC 5 with EF 6 上传文件
参考 ASP.NET MVC 5 with EF 6 - Working With Files Rename, Resize, Upload Image (ASP.NET MVC) ASP ...
- SpringMVC系列(十五)Spring MVC与Spring整合时实例被创建两次的解决方案以及Spring 的 IOC 容器和 SpringMVC 的 IOC 容器的关系
一.Spring MVC与Spring整合时实例被创建两次的解决方案 1.问题产生的原因 Spring MVC的配置文件和Spring的配置文件里面都使用了扫描注解<context:compon ...
- Spring Mvc 上传文件Demo 实例
返得利购物. 淘宝.京东500家商城合作,包括全面的商城返利网.注冊就送5元,购物就有返利.随时提现. 同学们,新一轮的返利大潮正在慢慢靠近,让购物都认为自己在赚钱.购物,机票.游戏.酒店旅游,地方特 ...
随机推荐
- Contextual Action bar(1) CAB in Android
Contextual Action bar (CAB) in Android BY PARESH MAYANI - OCTOBER, 23RD 2013 Before getting into the ...
- Spark网络通信分析
之前分析过spark RPC的基本流程(spark RPC详解),其实无论是RPC还是Spark内部的数据(Block)传输,都依赖更底层的网络通信,本文将对spark的网络通信做一下剖析. 1,概要 ...
- P2629 好消息,坏消息
题目描述 uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一旦老板 ...
- 2. UITest相关APIs
1. XCUIApplication 这是你正在测试的应用的代理.它能让你启动应用,这样你就能执行测试了.它每次都会新起一个进程,这会多花一些时间,但是能保证测试应用时的状态是干净的,这样你需要处理的 ...
- 1. UI Tests简介
(1) User Interface Testing UI Testing库主要提供了与App中的UI元素进行查找和交互的能力,这使得我们可以通过验证UI元素的状态来测试App是否正常运行. ...
- SQL数据库学习,常用语句查询大全
数据库学习 sql server数据库基本概念 使用文件保存数据存在几个缺点: 1.文件的安全性问题: 2.文件不利于查询和对数据的管理: 3.文件不利于存放海量数据 4.文件在程序中控制不方便. 数 ...
- php 生成饼状图,折线图,条形图 通用类 2
生成饼状图,折线图,条形图通用的php类,这里使用的是国外的 HighCharts,前台页面别忘了调用HighCahrt js HighCharts中文网站 http://www.hcharts. ...
- Redis学习笔记(四)集合进阶
1.组合与关联多个集合 差集: SDIFF key1 [key2...](返回存在于key1但不存在其他集合中的元素) SDIFFSTORE destination key1 [key2...](将存 ...
- 程序员面试系列之Java单例模式的攻击与防御
我写的程序员面试系列 Java面试系列-webapp文件夹和WebContent文件夹的区别? 程序员面试系列:Spring MVC能响应HTTP请求的原因? Java程序员面试系列-什么是Java ...
- Android(java)学习笔记157:开源框架的文件上传(只能使用Post)
1.文件上传给服务器,服务器端必然要写代码进行支持,如下: 我们新建一个FileUpload.jsp的动态网页,同时我们上传文件只能使用post方式(不可能将上传数据拼凑在url路径下),上传数据Ap ...