日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

cshtml中引用css_ASP.NET CoreMVC 中的控制器

發布時間:2023/12/2 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cshtml中引用css_ASP.NET CoreMVC 中的控制器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Controller in ASP.NET Core MVC

在本節中,我們將討論 Controller 是什么以及它在 ASP.NET Core MVC 中的作用。

Fiddler

需要大家提前裝一個工具,https://www.telerik.com/fiddler

Fiddler 是一個 http 協議調試代理工具,它能夠記錄并檢查所有你的電腦和互聯網之間的 http 通訊,設置斷點,查看所有的“進出”Fiddler 的數據(指 cookie,html,js,css 等文件)。 Fiddler 要比其他的網絡調試器要更加簡單,因為它不僅僅暴露 http 通訊還提供了一個用戶友好的格式。

我們會通過他來演示,如何抓包獲取請求。

Controller

  • MVC 中的控制器是一個類,它繼承自Microsoft.AspNetCore.Mvc.Controller
  • 控制器類名稱后綴為**“Controller”**。例如 HomeController,StudentController。
  • 當來自瀏覽器的請求到達我們的應用程序時,作為 MVC 中的控制器,它會處理傳入的 http 請求并響應用戶操作。
  • Controller 類包含一組公共方法。Controller 類中的這些公共方法稱為操作方法( action methods)。正是這些控制器的操作方法處理傳入的 http 請求。
  • 假設用戶在瀏覽器地址欄中鍵入了以下 URL 并按 ENTER 鍵http://localhost:12345/home/details
  • URL"/home/details”會映射到 HomeController 中的“Details”公共操作方法。此映射是由我們應用程序中的路由規則定義完成。
  • 我們將在即將發布的視頻中詳細討論 ASP.NET Core MVC 中的路由。
  • 請求到達控制器動作方法。作為處理該請求的一部分,控制器創建模型-Model
  • 控制器通過依賴的服務,來查詢模型數據,。
  • 例如,我們要查詢學生的數據,就需要通過 HomeController 依賴的IStudentRepository服務。
  • IStudentRepository服務使用構造函數注入 HomeController。這稱為依賴注入。
  • 我們在之前的ASP.NET Core 教程視頻中討論了**[依賴注入]**
  • 請注意,我們將注入的依賴項分配給readonly字段。這是一個很好的做法,因為它可以防止在方法中意外地為其分配另一個值。
  • 當控制器擁有所需的模型數據,比如我們正在提供服務或 RESTful API,它就可以簡單地返回該模型數據。

Controller 返回 JSON 數據

以下示例返回 JSON 數據。請注意,Details()方法的返回類型設置為 JsonResult,因為我們顯式返回 JSON 數據。在這種情況下,Details()方法始終返回 JSON 數據。它不接受內容協商并忽略Accept Header

public class HomeController:Controller { private readonly IStudentRepository _studentRepository; public HomeController(IStudentRepository studentRepository) { _studentRepository = studentRepository; } public JsonResult Details() { Student model = _studentRepository.GetStudent(1); return Json(model); } }

Controller 返回 ObjectResult

以下示例遵循內容協商查看請求頭中的** Accept Header**,如果它設置為application/xml,則返回 XML 數據。如果 Accept header 設置為application/json,則返回 JSON 數據。

public class HomeController:Controller { private readonly IStudentRepository _studentRepository; public HomeController(IStudentRepository studentRepository) { _studentRepository = studentRepository; } public ObjectResult Details() { Student model = _studentRepository.GetStudent(1); return new ObjectResult(model); } }

請注意:為了能夠以 XML 格式返回數據,我們必須通過調用 Startup.cs 文件中的 ConfigureServices()方法中的 AddXmlSerializerFormatters()的方法。

public void ConfigureServices(IServiceCollection services){ services.AddMvc().AddXmlSerializerFormatters();}

Controller 返回 View

以下示例返回 View。請注意,我們在返回視圖時將 ViewResult 設置為 Details 方法的返回類型。

public class HomeController:Controller { private readonly IStudentRepository _studentRepository; public HomeController(IStudentRepository studentRepository) { _studentRepository = studentRepository; } public ViewResult Details() { Student model = _studentRepository.GetStudent(1); return View(model); } }

此時如果我們運行應用程序并導航到http://localhost:49119/home/details,我們會收到以下錯誤。這是因為:我們還沒有創建所需的 View 文件。我們將在下一個視頻中討論 MVC 中的視圖。

InvalidOperationException: The view 'Details' was not found. The following locations were searched: /Views/Home/Details.cshtml /Views/Shared/Details.cshtml /Pages/Shared/Details.cshtml

小結:

  • 當來自瀏覽器的請求到達我們的應用程序時,作為 MVC 中的控制器,它會處理傳入的 http 請求并響應用戶操作。
  • 控制器構建模型(Model)
  • 如果我們正在構建 API, 則將模型數據返回給調用方
  • 或者選擇 "View 視圖" 并將模型數據傳遞到視圖,然后視圖生成所需的 HTML 來顯示數據

歡迎添加個人微信號:Like若所思。

歡迎關注我的公眾號,不僅為你推薦最新的博文,還有更多驚喜和資源在等著你!一起學習共同進步!

總結

以上是生活随笔為你收集整理的cshtml中引用css_ASP.NET CoreMVC 中的控制器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。