MVC嵌套简单三层,不知道如何在DataAccess层取数据
代码如下 UserInfoDAL方法如下
/// <summary>
/// 获得数据列表
/// </summary>
public DataSet GetList(string strWhere)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select UserID,UserName,UserAge ");
strSql.Append(" FROM UserInfo ");
if(strWhere.Trim()!="")
{
strSql.Append(" where "+strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(Maticsoft.Model.UserInfo model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("update UserInfo set ");
strSql.Append("UserName=@UserName,");
strSql.Append("UserAge=@UserAge");
strSql.Append(" where UserID=@UserID");
SqlParameter[] parameters = {
new SqlParameter("@UserName", SqlDbType.NVarChar,50),
new SqlParameter("@UserAge", SqlDbType.SmallInt,2),
new SqlParameter("@UserID", SqlDbType.Int,4)};
parameters[0].Value = model.UserName;
parameters[1].Value = model.UserAge;
parameters[2].Value = model.UserID;
int rows=DbHelperSQL.ExecuteSql(strSql.ToString(),parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
在 userinfoController.cs层怎么调用上面一层的数据并显示在页面上
public ActionResult Index()
{
return View();
}
public ActionResult Create()
{
return View();
}
//
// POST: /userinfo/Create
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here
return RedirectToAction("Index");
}
catch
{
return View();
}
}
建议用泛型
return View(list);
UserInfoDAL _userInfoDAL;
public UserInfoController()
{
_userInfoDAL=new UserInfoDAL();
}
public actionresult update(UserInfo model)
{
_userInfoDAL.Update(model);
return Content("success");
}
页面怎么取数据咧?
业务和控制器分离的话 更新数据是个问题。
比如
class a {
public int id{get;set;}
public string name{get;set;}
public string sex{get;set;}
}
页面上实际提交的只有id,name update的话数据写不回去了
@Y叔: 好久了啊。根据id更新name和update不是很简单么?
@今昭: 因为 sex没有传递过来,new a 的时候sex是null,update的话 数据库里原本有值结果被更新成null了
@Y叔: 如果只跟心name那么这里的model是不带sex,更新的model和a本身是两个概念。