使用三層架構實現簡單的MVC登陸操作

2021-08-15 10:30:07 字數 4249 閱讀 1516

對個別內容進行了修正!!!

圖一

圖二[csharp]view plain

copy

print?

using

system;  

using

system.collections.generic;  

using

system.linq;  

using

system.web;  

using

system.componentmodel.dataannotations;  

namespace

entity  

[required(errormessage="使用者名稱不能為空"

)]  

public

string

username   

[required(errormessage = "密碼不能為空"

)]  

public

string

userpwd   

}  }  

這樣就定義了乙個實體層(定義的字段和資料庫裡的一樣)。

[csharp]view plain

copy

print?

using

entity;  

using

system;  

using

system.collections.generic;  

using

system.configuration;  

using

system.data;  

using

system.data.sqlclient;  

using

system.linq;  

using

system.text;  

using

system.threading.tasks;  

namespace

dal  

;  // 執行

userinfo user =new

userinfo ();  

using

(sqldatareader sdr = sqlhelper.executereader(sql, param))  

return

user;  

}  }  

}  }  

首先得引入entity,其次,需要注意的是必須把userservice這個類定義為public型別的,否則bll層訪問不到。**就不一一解讀了,多是一些很基礎的語句。

注:1.sqlhelper是乙個已經封裝好的類,專門執行sql語句。這裡也可以自己寫sql執行語句。

public static sqldatareader executereader(string sql,params sqlparameter pms)

trycatch (exception)

}
2.須在web.config 裡配置鏈結字串。

[csharp]view plain

copy

print?

using

dal;  

using

entity;  

using

system;  

using

system.collections.generic;  

using

system.data;  

using

system.linq;  

using

system.text;  

using

system.threading.tasks;  

namespace

bll  

else

}  }  }  

首先還是得引入entity和dal。。。

負責處理業務邏輯。通過獲取ui傳來的使用者指令,執行業務邏輯,在需要訪問資料來源的時候,直接交個dal進行處理。處理完成後,返回必要資料給ui。其實bll層很簡單,

[html]view plain

copy

print?

<

body

>

<

div>

<

form

action

="@url.content("

~/home/dologin")

" method

="post"

>

<

table

>

<

tr>

<

td>

使用者名稱td

>

<

td>

<

input

name

="username"

placeholder

="使用者名稱"

required

/>

td>

tr>

<

tr>

<

td>

使用者密碼

td>

<

td>

<

input

name

="userpwd"

type

="password"

placeholder

="使用者密碼" 

required

/>

td>

tr>

<

tr>

<

tdcolspan

="2"

>

<

input

type

="submit"

value

="登陸"

/>

td>

<

td>@html.validationmessage(

"info")td

>

tr>

table

>

form

>

div>

body

>

注釋:action

="@url.content("

~/home/dologin")

" method

="post" 內~/home/dologin",為「~/controller/action/」

也可以使用:@using (html.beginform("dologin","home"

)) {}

會生成乙個表單,連線到對應action controller裡面。

其實學會了登入功能後其他

增刪改查功能都是差不多的。只不過就是換了個sql語句,換湯不換藥。我就不一一介紹了。

三、思路

login.cshtml內input為name="username"和name="userpwd"的值  --(傳入控制器)--》homecontrol內[httppost]

actionresult.dologin()。dologin()內呼叫業務邏輯層,業務邏輯層再呼叫資料訪問層

MVC 三層架構

mvc開始是存在於桌面程式中的,m是指業務模型,v是指使用者介面,c則是控制器,使用mvc的目的是將m和v的實現 分離,從而使同乙個程式可以使用不同的表現形式。比如一批統計資料可以分別用柱狀圖 餅圖來表示。c存在的目的則是確保m和v的同步,一旦m改變,v應該同步更新。mvc 是一種使用 mvc mo...

MVC三層架構

使用者直接訪問控制層,控制層可以直接運算元據庫 servlet curd 資料庫 弊端 程式十分臃腫,不利於維護,servlet的 中 處理請求,響應,檢視跳轉,處理jdbc,處理業務 處理邏輯 架構 沒有什麼是加一層解決不了的 業務處理 業務邏輯 service 資料持久曾 curd dao vi...

MVC和三層架構

一 mvc m model 模型 應用程式的核心功能,管理這個模組中用的資料和值 v view 檢視 檢視提供模型的展示,管理模型如何顯示給使用者,它是應用程式的外觀 c controller 控制器 對使用者的輸入做出反應,管理使用者和檢視的互動,是連線模型和檢視的樞紐。1.1 mvc如何工作 m...