對個別內容進行了修正!!!
圖一
圖二[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...