【C#MVC】搭建.netMVC4工程(三)

上面我們介紹到mvc的框架項目搭建,並且完成了數據實體的映射。

上一篇遺留的問題:
經過測試,上一篇中Common類庫,在刪掉默認的cs頁面後,竟然不能被其他類庫(如:service,manager)引用,在使用using時根本不能引用,而在引用中我已經添加了common的dll文件。這一點令我很不解,而其他類庫在刪除默認的cs頁面後,可以被正常使用。這裏如果有跟我一樣的朋友,不要將默認頁面刪掉,就可以正常使用了。有了解的大神麼?請在評論區解釋一下。

這一篇我們將會將整個項目調試通,在頁面顯示一些信息。不做過多的處理。寫這個目的也僅僅是爲了初學者能夠對mvc4有個瞭解。在以後有時間會更新一個菜單權限管理的項目例子,因爲setting這一塊在任何中大型項目中均會用到,因此對着瞭解也是有必要的。

廢話一大篇開始正式內容,上一篇的model視圖應該是這樣的:

這裏寫圖片描述

這裏EF幫助生成了一個名爲App.Config的文件,這裏面有我們使用的connectionString:

這裏寫圖片描述

這裏我們使用第二個,將其複製到Web下面的Web.Config文件中:
要放在configuration標籤下:

這裏寫圖片描述

這裏面的參數不在過多描述,初學者可以找一下相關的博客。

至此,配置一個基礎mvc項目的所有配置都已經完成。一直看下來的你相信對mvc的架構已經大致瞭解了。若過以前學過java的mvc開發或者SSM,SSH架構的對此更是瞭然於胸。不錯,這個與Java的mvc模式有很大程度上的相似。

下面寫一個Demo,僅供學習參考,在最後我會將源代碼開放出來,但是我不敢確定會不會因爲vs和sqlserver的版本不一致而引發問題。

顯示Demo:
Service層:
service層使用Linq與數據庫進行數據交換,至於linq與sql語句之間的優缺點不在贅述,我的其他博客有介紹,亦可以到網上搜尋相關信息。

這裏寫圖片描述

代碼:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Arise.Model; //手動添加
using Arise.Common;//手動添加

namespace Arise.Service
{
   public  class Login_Service
    {
       public User_Master GetUserMaster()
       {
           using (AriseEntities ariseEntities = new AriseEntities())
           {
               return ariseEntities.User_Master.FirstOrDefault();
           }
       }
    }
}

裏面就一句簡單的代碼,使用實體獲取第一行的User_Master對象。

Manager層:(進行業務上處理,這裏沒什麼作用)

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Arise.Common;
using Arise.Model;
using Arise.Service;

namespace Arise.Manager
{
    public class Login_Manager
    {
        private Login_Service loginService = new Login_Service();
        public User_Master GetUserMaster() 
        {
            return loginService.GetUserMaster();
        }
    }
}

Controller:(負責數據的接受和視圖的轉發)

創建過程:
Controller右鍵 =》添加=》控制器
這裏命名必須是以Controller爲結尾。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Arise.Common;
using Arise.Model;
using Arise.Manager;

namespace Arise.Web.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            Login_Manager loginManager = new Login_Manager();
            User_Master userMaster = loginManager.GetUserMaster();
            ViewBag.name = userMaster.User_Name;
            return View();
        }

    }
}

這裏我要介紹一下controller一些相關的東西。

當方法的返回值爲ActionResult ,表示返回一個視圖,視圖名爲方法名。
ViewBag,可以將數據帶到View中,顯示。類似於java中的request域中的parameter參數。

View層:(視圖層)這裏只是一個演示頁面。

View中創建一個名字與Controller名相同的文件夾,
在文件上右鍵=》添加=》視圖
這裏視圖的命名也是有規則的,需與返回視圖的方法的方法名相同。這裏就是Index了。

@{
    ViewBag.Title = "Index";
}

<h2>@ViewBag.Name</h2>

這裏只是爲了測通系統,沒有做頁面的處理。
@ViewBag:取出放在ViewBag中的內容。

最終成功頁面:

這裏寫圖片描述

好了,這裏成功的講數據庫中的Name列取出來,並顯示。這樣表示我們系統處於通過狀態。

一個簡單的入門Demo完了,希望能夠對初學者有所幫助。接下來我會使用這個框架持續更新一個menu的授權項目,希望多關注。

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