欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
學(xué)習 ASP.NET MVC (第三回)實(shí)戰篇
承接上文Learn ASP.NET MVC (第二回)實(shí)戰篇
創(chuàng )建Controllers和Views
我們再次回顧下ASP.NET MVC的基本工作流程:
URL-->Controller(會(huì )執行一個(gè)方法Action)-->從數據庫中獲取一個(gè)Model對象-->將Model作為ViewData傳遞給View(Detail.aspx)。
和傳統的Web架構不同的是,請求的URL不是映射 URL 地址到特定文件,而是映射到類(lèi)的方法上。這些類(lèi)就是 MVC 中的 Controller 控制器,它們負責處理進(jìn)來(lái)的請求和用戶(hù)輸入,接收和保存數據,并返回結果給客戶(hù)端(顯示 HTML、下載文件、或重定向到不同的 URL 等等)。
例如:請求http://localhost:2121/Account/LogOn,則代表有個(gè)叫AccountController,有個(gè)叫LogOnAction。

添加 UsersController 控制器
右鍵點(diǎn)擊 Web 項目中的 Controllers 文件夾,選擇 Add ->Controller:

添加一個(gè)名為UsersController的Controller,默認情況下vs為我們生辰如下代碼:
public class UsersController : Controller
    {
        
//
        
// GET: /Users/

        
public ActionResult Index()
        {
            
return View();
            
        }
    }
這里我們先做下簡(jiǎn)單的修改:
Code
這時(shí)運行項目,在地址中輸入:http://localhost:2121/Users


上面的兩個(gè)地址請求,一個(gè)就是獲得所有Users信息的請求,一個(gè)就是通過(guò)編號或得詳細信息的請求。那么MVC是通過(guò)什么獲取到相應的Controller呢?對ASP.NET MVC有一定了解的人應該都知道,那就是: ASP.NET MVC Routing

ASP.NET MVC Routing
ASP.NET MVC 包含強大的 URL 路由引擎,提供了很好的靈活性來(lái)控制 URL 如何映射到控制器類(lèi)。它允許我們完全定制 ASP.NET MVC 如何選擇 controller 類(lèi),調用哪一個(gè)方法,以及從 URL/Querystring 中自動(dòng)解析變量值,并作為參數傳遞給方法。
默認情況下,新的 ASP.NET MVC 項目已經(jīng)注冊了預配置的 URL 路由規則,這樣允許我們輕松啟動(dòng)應用程序,而不需要配置任何東西??梢栽陧椖恐械腁pplication 類(lèi)中看到默認的路由規則注冊。在范例項目的根目錄,雙擊 Global.asax 文件。默認情況下:
Code
上述調用的 routes.MapRoute() 方法注冊了一個(gè)默認的路由規則,映射請求的 URL 到 controller 類(lèi)使用的。 URL 格式為:/{controller}/{action} /{id},這里 controller 是指需要實(shí)例化的類(lèi)名,action 是將調用的公共方法的名稱(chēng),id 是一個(gè)可選的參數。嵌入在 URL 地址中,用來(lái)傳遞參數給方法。傳遞給 MapRoute() 方法的第三個(gè)參數是一組 controller/action/id 默認值,在 URL 沒(méi)有指定時(shí),Controller=Home、Action=Index、Id=””。

簡(jiǎn)單了解了Routing,接著(zhù)我們的Demo。在UsersController中使用UsersRepository.cs(上篇中):
我們使用之前創(chuàng )建的 DinnerRepository 類(lèi)來(lái)實(shí)現model現有的 Index() 和 Details() action 方法。
Code
控制器 Controller 使用視圖 Views:

通常情況下,我們不是通過(guò)Response.Write() 方法返回給客戶(hù)端。Action方法中僅僅出來(lái)業(yè)務(wù)和數據邏輯,并將相關(guān)的數據傳遞給單獨的視圖(view)模板,view 負責生成 HTML 展示。view 模板就是一個(gè)簡(jiǎn)單的文本文件,通常包含 HTML 標識和嵌入的腳本。

Code

View() 輔助方法的第一個(gè)參數是 view 模板文件,用來(lái)生成 HTML 響應。第二個(gè)參數是 model 對象,包含了 view 模板生成 HTML 響應所需要的數據。
下面,我們開(kāi)始實(shí)現 NotFound、Details、和 Index 視圖模板。
NotFound:
在Users文件夾上右鍵--添加View


在View Name:中輸入NotFound

點(diǎn)擊Add,就會(huì )在我們的View/Users文件夾下創(chuàng )建一個(gè)NotFound.aspx 視圖模板。
一旦我URL中沒(méi)有相應的記錄,就會(huì )跳轉到這個(gè)頁(yè)面:

這里,數據庫中并沒(méi)有編號是63的用戶(hù)的記錄。這樣NotFound模板就ok啦。
Details:

用幾乎同樣的方式添加Details模板


值得注意的是:要選擇 Create a strongly-typed View(創(chuàng )建強類(lèi)型視圖)復選框,并從下拉列表框中選擇從Controller 傳遞到 View 的 Model 模型類(lèi)型。針對正在創(chuàng )建的 Details 視圖,我們將傳遞 Users對象(該類(lèi)型完整的名稱(chēng)是 UserInfo.Models.Users)。
查看添加的Details.aspx文件,可以看到自動(dòng)生成的html代碼。發(fā)現該頁(yè)面包含一些靜態(tài)的 HTML 和嵌入展示代碼。在視圖模板呈現時(shí),<% %> 代碼塊就會(huì )執行,<%= %> 代碼塊執行其中的代碼,并呈現結果到視圖的輸出中展示。有關(guān)html的輔助方法我后面會(huì )提到。
Index:
添加Index視圖模板:

注意這里選擇的content是List。系統還是會(huì )為我們自動(dòng)生成html代碼。

Code

和傳統的Web Form不同的是,我們沒(méi)有了aspx.cs文件,而是直接將生成html的代碼這在aspx中。這里的一些HTML輔助方法我會(huì )在后面提到。
ok,運行我們的程序:
Index:


Details:

這樣,Index,Details,NotFound就完成了。先寫(xiě)到這里,下篇繼續。實(shí)現添加,修改等操作。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MVC的概念及ASP.NET MVC 3.0開(kāi)發(fā)環(huán)境
ASP.NET MVC案例教程—第二篇:第一個(gè)頁(yè)面
ASP.Net MVC開(kāi)發(fā)基礎學(xué)習筆記:一、走向MVC模式
ASP.NET MVC: 構建不帶 Web 窗體的 Web 應用程序
ASP.NET MVC簡(jiǎn)單編程之(二)經(jīng)典路由篇
ASP.NET MVC 小牛之路
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久