佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > ASP.NET MVC 控制器與視圖

ASP.NET MVC 控制器與視圖

熱門(mén)標(biāo)簽:人工智能 客戶服務(wù) 百度AI接口 國(guó)美全國(guó)運(yùn)營(yíng)中心 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 電商新玩法 網(wǎng)站排名優(yōu)化 電銷業(yè)務(wù)

一、控制器相關(guān)

在Controller類中方法訪問(wèn)級(jí)別為public的方法,就是行為(Action).如果不希望Controller類中的方法成為Action(可以在地址欄中被訪問(wèn)),有兩種實(shí)現(xiàn)方式:將方法的訪問(wèn)級(jí)別設(shè)置為private在方法上添加特性標(biāo)記[NonAction]

                  

諸如新增\修改等功能模塊,我們往往會(huì)創(chuàng)建2個(gè)名稱相同的Action:一個(gè)action用于加載新增\修改頁(yè)面;另一個(gè)action用于處理新增\修改頁(yè)面提交的表單數(shù)據(jù).那么如何區(qū)分在何時(shí)調(diào)用哪個(gè)action呢?

  我們將加載新增|修改頁(yè)面時(shí)被調(diào)用的action,添加[HttpGet]特性標(biāo)記;將處理頁(yè)面提交的表單數(shù)據(jù)時(shí)調(diào)用的action,添加[HttpPost]特性標(biāo)記.

下面的示例代碼演示了如何實(shí)現(xiàn)學(xué)生的新增(action相關(guān)的代碼).

                  

如何在Action中獲取表單提交的數(shù)據(jù)?

表單中提交的數(shù)據(jù),可以通過(guò)Action的參數(shù)進(jìn)行映射.

映射的前提條件:Html標(biāo)記的name屬性值和action中參數(shù)的名稱要一致.

下面的示例代碼演示了映射的過(guò)程(注意粉色框標(biāo)記的部分):

                  

Action中如何映射復(fù)雜對(duì)象?

對(duì)于上面的映射代碼,我們還可以有另外一種等價(jià)的寫(xiě)法,就是將映射的屬性定義到一個(gè)實(shí)體類中,這樣我們就可以在action中添加該實(shí)體類型的參數(shù),參考代碼如下所示:

                  

如何從一個(gè)Action中跳轉(zhuǎn)至另外一個(gè)Action?

新增或修改功能完成后,需要跳轉(zhuǎn)至數(shù)據(jù)列表頁(yè)面,我們可以通過(guò)如下代碼實(shí)現(xiàn):

代碼 => return RedirectToAction(“ActionName”, “ControllerName”).

二、視圖相關(guān)

在ASPX視圖引擎中,可以使用asp服務(wù)器控件,但它的作用僅僅局限與生成html代碼,而不推薦開(kāi)發(fā)人員使用asp控件的事件.因此建議開(kāi)發(fā)人員手工編寫(xiě)Html標(biāo)記。

但是手寫(xiě)Html標(biāo)記比較耗費(fèi)時(shí)間,有沒(méi)有更好的解決方案?答案就是使用Html輔助方法。

Html輔助方法

Html輔助方法的作用就是通過(guò)調(diào)用C#方法的方式,快速的生成相應(yīng)的html標(biāo)記.

Html輔助方法分為2大類:弱類型html輔助方法和強(qiáng)類型html輔助方法.

其中以For關(guān)鍵字結(jié)尾的都是強(qiáng)類型的輔助方法.下面的示例代碼演示了二者的調(diào)用方式,以及生成的html源碼。

                  

注意:Html輔助方法有很多種重載形式,在開(kāi)發(fā)過(guò)程中可以根據(jù)實(shí)際需要自行選擇.比如要實(shí)現(xiàn)一個(gè)包含class\style\onchange屬性和事件的單行文本框,可以參考如下代碼: 

                  

強(qiáng)調(diào):如何使用HTML輔助方法生成form標(biāo)記?

生成form標(biāo)記的兩個(gè)Html輔助方法為:Html.BeginForm()和Html.EndForm(),但他們?cè)谑褂脮r(shí)和其他的Html輔助方法有所不同,下面的示例代碼演示了它們的兩種用法:

                  

如何在URL地址中傳遞參數(shù)?

場(chǎng)景一:將學(xué)生ID值映射到名稱為id參數(shù)上

場(chǎng)景二:將學(xué)生ID值映射到名稱為stuId參數(shù)上

場(chǎng)景三:url地址中包括stuId和name兩個(gè)參數(shù)

這三種場(chǎng)景的使用代碼如下所示:

                  

其他在實(shí)際開(kāi)發(fā)過(guò)程中,一個(gè)小的功能模塊就對(duì)應(yīng)一個(gè)控制器.比如學(xué)生信息管理就是一個(gè)控制器,新增學(xué)生\修改學(xué)生\查詢學(xué)生列表\刪除學(xué)生都可以對(duì)應(yīng)控制器中的Action.常用Html輔助方法匯總

弱類型

強(qiáng)類型

單行文本框

Html.TextBox()

Html.TextBoxFor()

多行文本框

Html.TextArea()

Html.TextAreaFor()

密碼框

Html.Password()

Html.PasswordFor()

復(fù)選框

Html.Checkbox()

Html.CheckBoxFor()

單選按鈕

Html.RadioButton()

Html.RadioButtonFor()

下拉列表框

Html.DropdownList()

Html.DropdownListFor()

平鋪列表框

Html.ListBox()

Html.ListBoxFor()

Label

Html.Label()

Html.LabelFor()

Form表單

Html.BeginForm() Html.EndForm()

超鏈接

Html.ActionLink()

如何在視圖中使用下拉列表

第一步:在action中構(gòu)造好下拉列表中需要的數(shù)據(jù),數(shù)據(jù)的類型為IEnumerableSelectListItem>。

第二步:將構(gòu)造好的數(shù)據(jù)放到Controller中的ViewData(ViewBag|TempData)屬性中。

第三步:在視圖view中使用Html.DropDownList輔助方法來(lái)生成下拉列表,而綁定的數(shù)據(jù)可以使用視圖View中的ViewData來(lái)獲取(換句話講就是,Controller中放置到ViewData的數(shù)據(jù),可以在視圖View中的ViewData屬性中提?。?。

                  

在視圖中使用Html.DropDownList綁定IenumerableSelectListItem>

                  

您可能感興趣的文章:
  • ASP.NET MVC從控制器傳遞數(shù)據(jù)到視圖的四種方式詳解
  • ASP.NET MVC4入門(mén)教程(三):添加一個(gè)視圖
  • ASP.NET MVC中的視圖生成實(shí)例分析
  • ASP.NET MVC從視圖傳參到控制器的幾種形式
  • asp.net core mvc權(quán)限控制:在視圖中控制操作權(quán)限
  • 詳解使用asp.net mvc部分視圖渲染html
  • asp.net mvc4 mysql制作簡(jiǎn)單分頁(yè)組件(部分視圖)
  • ASP.NET MVC中分部視圖的應(yīng)用方法

標(biāo)簽:POS機(jī) 益陽(yáng) 棗莊 咸寧 南平 攀枝花 廈門(mén) 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET MVC 控制器與視圖》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    吉水县| 望奎县| 澄城县| 阳新县| 科尔| 应城市| 长泰县| 穆棱市| 勃利县| 习水县| 三江| 万年县| 邢台市| 碌曲县| 祁东县| 孟津县| 西贡区| 襄城县| 辽阳市| 泰和县| 特克斯县| 吉安县| 江津市| 蒙自县| 西藏| 太仆寺旗| 筠连县| 武定县| 子洲县| 陇川县| 嘉峪关市| 遂宁市| 如皋市| 杭锦后旗| 巴中市| 汕头市| 石家庄市| 田林县| 满城县| 济南市| 德钦县|