【翻譯轉載】【官方教程】Asp.Net MVC4入門指南(2):添加一個控制器

来源:http://www.cnblogs.com/Kiuyam/archive/2017/01/24/6346427.html
-Advertisement-
Play Games

2. 添加一個控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller · 譯文地址:http://www.cnblogs.com/powertools ...


2. 添加一個控制器

· 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller

· 譯文地址:http://www.cnblogs.com/powertoolsteam/archive/2012/11/02/2751015.html

 

Asp.Net MVC4入門指南(2):添加一個控制器

 

MVC代表: 模型-視圖-控制器 。MVC是一個架構良好並且易於測試和易於維護的開發模式。基於MVC模式的應用程式包含:

· Models: 表示該應用程式的數據並使用驗證邏輯來強制實施業務規則的數據類。

· Views: 應用程式動態生成 HTML所使用的模板文件。

· Controllers: 處理瀏覽器的請求,取得數據模型,然後指定要響應瀏覽器請求的視圖模板。

本系列教程,我們將覆蓋所有這些概念,並告訴您如何使用它們來構建應用程式。

首先,讓我們創建一個控制器類。在解決方案資源管理器中,用滑鼠右鍵單擊控制器文件夾,然後選擇“添加控制器“

clip_image001

命名新的控制器為“HelloWorldController”。保留預設的模板為“Empty MVC controller”,並單擊“ 添加“。

clip_image002

請註意,在解決方案資源管理器中會創建一個名為HelloWorldController.cs的新文件。該文件會被IDE預設打開。

clip_image003

用下麵的代碼替換該文件中的內容。

using System.Web; using System.Web.Mvc;    namespace MvcMovie.Controllers {     public class HelloWorldController : Controller     {         //         // GET: /HelloWorld/            public string Index()         {             return "This is my <b>default</b> action...";         }            //         // GET: /HelloWorld/Welcome/            public string Welcome()         {             return "This is the Welcome action method...";         }     } }

在這個例子中控制器方法將返回一個字元串的HTML。本控制器被命名HelloWorldController代碼中的第一種方法被命名為Index。讓我們從瀏覽器中調用它。運行應用程式(按F5或CTRL + F5)。在瀏覽器的地址欄中輸入路徑“HelloWorld“。(例如,在下麵的示例中: http://localhost:1234/HelloWorld)頁面在瀏覽器中的表現如下麵的截圖。在上面的方法中,代碼直接返回了一個字元串。你告訴系統只返回一些HTML,系統確實這樣做了!

clip_image004

根據傳入的URL,ASP.NET MVC調用不同的控制器類(和它們之中不同的操作方法)。使用ASP.NET MVC預設的URL路由邏輯格式,以確定哪些代碼會被調用:

/[Controller]/[ActionName]/[Parameters]

第一部分的URL確定那個控制器類會被執行。因此 /HelloWorld映射到HelloWorldController控制器類。第二部分的URL確定要執行控制器類中的那個操作方法。因此 /HelloWorld/Index,會使得HelloWorldController控制器類的Index 方法被執行。請註意,我們只需要瀏覽 /HelloWorld路徑,預設情況下會調用Index方法。如果沒有明確的指定操作方法,Index方法會預設的被控制器類調用。

瀏覽http://localhost:xxxx/HelloWorld/Welcome。Welcome方法會被運行並返回字元串:"This is the Welcome action method...”。 預設的MVC映射為/[Controller]/[ActionName]/[Parameters] 對於這個URL,控制器類是HelloWorld,操作方法是Welcome,您還沒有使用過URL的[Parameters] 部分。

clip_image005

讓我們稍微修改一下這個例子,以便可以使用URL傳遞一些參數信息給控制器類(例如, /HelloWorld/Welcome?name=Scott&numtimes=4)。改變您的Welcome 方法來包含兩個參數,如下所示。需要註意的是,示例代碼使用了C#語言的可選參數功能,numTimes參數在不傳值時,預設值為1。

public string Welcome(string name, int numTimes = 1) {      return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes); }

運行您的應用程式並瀏覽此URL(http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4。你可以對參數name 和numtimes 嘗試不同的值。 ASP.NET MVC model binding system 會自動將地址欄中URL里的 query string映射到您方法中的參數。

clip_image006

在這兩個例子中,控制器一直在做著MVC中“VC”部分的職能。 也就是視圖和控制器的工作。該控制器直接返回HTML內容。通常情況下,您不會讓控制器直接返回HTML,因為這樣代碼會變得非常的繁瑣。相反,我們通常會使用一個單獨的視圖模板文件來幫助生成返回的HTML。讓我們來看看下麵我們如何能做到這一點吧。

控制器是MVC中的重要組成部分,有了本節知識的學習,相信大家會更加深入地理解MVC。那麼在MVC開發過程中,除了以上知識之外,還可以藉助哪些工具呢?ComponentOne Studio ASP.NET MVC 是一款針對 MVC 平臺的控制項包,它與 Visual Studio 無縫集成,完全與 MVC6 和 ASP.NET 5.0 相容,將大幅提高工作效率。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Case具有兩種格式。簡單Case函數和Case搜索函數。 這兩種方式,可以實現相同的功能。簡單Case函數的寫法相對比較簡潔,但是和Case搜索函數相比,功能方面會有些限制,比如寫判斷式。 還有一個需要註意的問題,Case函數只返回第一個符合條件的值,剩下的Case部分將會被自動忽略。 下麵我們來 ...
  • 一、概述 網上找了好多,發現好多不是linux系統的就是與現在新版本有出入,自己做小項目親手實踐了一下,供大家借鑒。 MySQL版本:mysql-5.7.17 下載方法: 1、MySQL官方網址https://www.mysql.com/downloads/ 2、下載方法: a、選擇對應模塊: b、 ...
  • 今天用VMware虛擬機安裝了Ubuntu 16.04,過程用點繁瑣,順便又安裝了VMware tools,這樣就可以全屏顯示Ubuntu系統了,下麵是具體的安裝過程! 第一步:準備工作 1.下載Ubuntu,網址是http://cn.ubuntu.com/download/ 我選擇下麵這個版本的6 ...
  • 警告1909。無法創建快捷方式VMware Workstation Pro.Ink。的解決方法! ...
  • Windows伺服器故障轉移集群(Windows Server Failover Cluster,簡稱WSFC)使用仲裁投票(Quorum Voting)決定集群的健康狀況,或使故障自動轉移,或使集群離線。當集群中的結點發生故障時,會由其他結點接手繼續提供服務,不過,當結點之間通信出現問題,或大多數 ...
  • 1.chgrp,chown,chmod(-R遞歸修改文件夾下的文件) chgrp:修改文件屬於哪個組 chown:修改文件屬於哪個用戶 chmod:修改文件許可權r=4,w=2,x=1 chmod 4+2+1 file 如果不知道文件許可權可直接加許可權 比如 chmod a±rwx(a代表所有用戶,g代 ...
  • 要求:取指定目錄下麵的所有圖片,以表格的型式展示並顯示該圖片的相對路徑。 服務端代碼: 前端代碼: 效果圖如下: ...
  • 3. 添加一個視圖 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view · 譯文地址:http://www.cnblogs.com/powertoolsteam/ar ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...