您好,登錄后才能下訂單哦!
以前一直做WinForm桌面應用開發,所以對MVC 也是這幾天的了解。
傳統三層是架構,MVC 是展示模式, MVC相當于UI層,只是把UI層再次進行了分解。
我用的是一個傳統的三層架構+MVC2 來做的一個增刪改 的示例。其中傳統三層為了方便(懶省事),把其中的BLL層搞掉了。具體看下面項目的目錄結構圖:
簡單說下里面要用到的幾個文件:DAL、DataAcc、Model這幾個都是代碼生成器生成的,Controllers控制器、Views視圖頁面。在這個項目中傳統三層的M和MVC中的M,我合并到一起都放到了傳統三層的M中了。
介紹完文件,再說下這幾個文件的調用關系 Views ->Controllers ->DAL ->DataAcc ->數據庫 其中我理解的 Model在這里面是一個數據載體, 所以沒有放到關系里面,哪里需要哪里調。
聲明:以下展示的頁面沒有做任何美化操作,只看展示結果。
開始貼代碼吧:
首頁是控制器中的 初始化頁面Index
public class EmpInfoController : Controller
{
WLsys.DAL.Fm_EmpInfo dalemp = new WLsys.DAL.Fm_EmpInfo();
WLsys.Model.Fm_EmpInfo mdlemp = new WLsys.Model.Fm_EmpInfo();
public ActionResult Index()
{
//獲取要顯示的信息
List < WLsys.Model.Fm_EmpInfo > data= dalemp.GetModel();
return View(data);
}
然后鼠標選中Index()點擊右鍵,彈出添加視圖的菜單,點擊添加視圖,如下圖配置即可
點擊添加即可在Views文件夾中生成Index.aspx
在 Index.aspx 把第一行替換為下面的內容
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<WLsys.Model.Fm_EmpInfo>>" %>
開發環境運行起來 即可看到如下效果
在該頁面中包含【新增】、【編輯】、【刪除】、【明細】的功能在后面的章節中再詳細記錄
最后貼出DAL中GetModel()方法中的代碼:
/// <summary>
/// 得到一個對象實體
/// </summary>
public List<WLsys.Model.Fm_EmpInfo> GetModel()
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select ");
strSql.Append(" ID,DeptNum,EmpName,EmpSpell,EmpSex,EmpDuty,EmpBirth,BirthNote,EmpTel,EmpEmail,EmpAddress,EmpEduc,EmpNation,EmpCard,EmpSalary,EmpMark,OPID,OPT,EpmPhoto,DataIn ");
strSql.Append(" from Fm_EmpInfo ");
SqlDataReader sdr = DbHelperSQL.ExecuteReader(strSql.ToString());
List<WLsys.Model.Fm_EmpInfo> empinfo = new List<WLsys.Model.Fm_EmpInfo>();
try
{
while (sdr.Read())
{
WLsys.Model.Fm_EmpInfo fem = new WLsys.Model.Fm_EmpInfo();
fem.BirthNote = sdr["BirthNote"].ToString();
fem.DataIn = sdr["DataIn"].ToString();
fem.DeptNum = sdr["DeptNum"].ToString();
fem.EmpAddress = sdr["EmpAddress"].ToString();
fem.EmpBirth = sdr["EmpBirth"].ToString();
fem.EmpCard = sdr["EmpCard"].ToString();
fem.EmpDuty = sdr["EmpDuty"].ToString();
fem.EmpEduc = sdr["EmpEduc"].ToString();
fem.EmpEmail = sdr["EmpEmail"].ToString();
fem.EmpMark = sdr["EmpMark"].ToString();
fem.EmpName = sdr["EmpName"].ToString();
fem.EmpNation = sdr["EmpNation"].ToString();
fem.EmpSalary = decimal.Parse(sdr["EmpSalary"].ToString());
fem.EmpSex = sdr["EmpSex"].ToString();
fem.EmpSpell = sdr["EmpSpell"].ToString();
fem.EmpTel = sdr["EmpTel"].ToString();
fem.EpmPhoto = sdr["EpmPhoto"].ToString();
fem.ID =int.Parse ( sdr["ID"].ToString());
empinfo.Add(fem);
}
sdr.Close();
return empinfo;
}
finally
{
sdr.Close();
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。