我的 ASP.NET MVC2 學習筆記<一>:Index頁面的數據顯示

以前一直做WinForm桌面應用開發,所以對MVC 也是這幾天的瞭解。

傳統三層是架構,MVC 是展示模式, MVC相當於UI層,只是把UI層再次進行了分解。

我用的是一個傳統的三層架構+MVC2 來做的一個增刪改 的示例。其中傳統三層爲了方便(懶省事),把其中的BLL層搞掉了。具體看下面項目的目錄結構圖:

wKioL1YDUbeDGR7AAAC5o1Jklfw357.jpg


簡單說下里面要用到的幾個文件: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()點擊右鍵,彈出添加視圖的菜單,點擊添加視圖,如下圖配置即可

wKiom1YDhaywYmSYAAFI0dhAZtg983.jpg

點擊添加即可在Views文件夾中生成Index.aspx

在 Index.aspx 把第一行替換爲下面的內容

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<WLsys.Model.Fm_EmpInfo>>" %>

開發環境運行起來 即可看到如下效果


wKioL1YDhu-zIeyGAAHNBMgPwkA567.jpg


在該頁面中包含【新增】、【編輯】、【刪除】、【明細】的功能在後面的章節中再詳細記錄


最後貼出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();

                

            }

            

        }









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章