下面添加用户Controller。在Controller文件夹点右键 选择新建控制器名称输入UserController,完成后生成代码如下:
using System.Web.Mvc;
using CMS.Models;
namespace CMS.Controllers
{
public class UserController : Controller
{
public ActionResult Register()
{
return View();
}
//
// POST: /User/Create
[HttpPost]
public ActionResult Register(UserRegister uerReg)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
}
}
马上涉及的问题就是数据的存取,本来准备用Repository模式做,后来觉得用Repository模式在一个人写个简单那网站的情况下意义不大,写起来反而有点啰嗦,干脆用伪Repository模式写。项目中新建Repository文件夹。在文件夹中新建类CMS,用来实现EF的Context。代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using CMS.Models;
namespace CMS.Repository
{
public class CMSContext:DbContext
{
public DbSet<User> Users { get; set; }
}
}
简单吧。再建一个类RepositoryBase,用来做***Repository的基类,里面写Add,Update,Delete,Find几个虚函数,方便在继承类里面这几个函数的名称统一。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace CMS.Repository
{
public class RepositoryBase<TModel>
{
private CMSContext dbContext;
public RepositoryBase()
{
dbContext = new CMSContext();
}
/// <summary>
/// 添加【继承类重写后才能正常使用】
/// </summary>
public virtual bool Add(TModel Tmodel) { return false; }
/// <summary>
/// 更新【继承类重写后才能正常使用】
/// </summary>
public virtual bool Update(TModel Tmodel) { return false; }
/// <summary>
/// 删除【继承类重写后才能正常使用】
/// </summary>
public virtual bool Delete(int Id) { return false; }
/// <summary>
/// 查找指定值【继承类重写后才能正常使用】
/// </summary>
public virtual TModel Find(int Id) { return default(TModel); }
~RepositoryBase()
{
if (dbContext != null)
{
dbContext.Dispose();
}
}
}
}
可以写UserRepository的具体实现了,新建UserRepository类。重写Add,Update方法后代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using CMS.Models;
namespace CMS.Repository
{
public class UserRepository:RepositoryBase<User>
{
private CMSContext dbContext;
public UserRepository()
{
dbContext = new CMSContext();
}
/// <summary>
/// 添加用户
/// </summary>
/// <param name="user">用户信息</param>
/// <returns></returns>
public override bool Add(User user)
{
if (user == null) return false;
dbContext.Users.Add(user);
if (dbContext.SaveChanges() > 0) return true;
else return false;
}
/// <summary>
/// 更新用户信息
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
public override bool Update(User user)
{
var _user = dbContext.Users.SingleOrDefault(u => u.UserId == user.UserId);
if (_user == null) return false;
_user = user;
if (dbContext.SaveChanges() > 0) return true;
else return false;
}
//public override
}
}








