首頁 後端開發 C#.Net教程 介紹ASP.NET中的MVC如何從控制器傳遞資料到視圖

介紹ASP.NET中的MVC如何從控制器傳遞資料到視圖

Aug 16, 2017 pm 02:17 PM
asp.net 如何 控制器

本篇文章主要介紹了ASP.NET MVC從控制器傳遞資料到視圖的四種方式,具有一定的參考價值,有興趣的小夥伴們可以參考一下。

前奏

1. 在新專案中的Models檔案下,新建Products類別:


 public class Products
  {
    public int Id { get; set; }
    public string Name { get; set; }
    public double Price { get; set; }
  }
登入後複製

2. 在控制器中實例化此類


var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
登入後複製

方式1:ViewData

將控制器中的方法用ViewData以鍵值對的形式類別儲存上述的實例化對象,如下:


ViewData["person"] = p;
登入後複製

然後在視圖中取得ViewData中的值,並轉換對象,如下:


@{
  var p = (Products)ViewData["person"];
}
<h1>@p.Id</h1>
<h2>@p.Name</h2>
<h3>@p.Price</h3>
登入後複製

方式2:ViewBag

將控制器中的方法利用ViewBag動態表達式的形式儲存上述對象,如下:


ViewBag._Product = p;
登入後複製

 修改視圖,如下:


@{
  var p = (Products)ViewBag._Product;
}
登入後複製

 方式3:Model

##將控制器中的方法傳回View上述對象,如下:


public ActionResult Index()

    {

      var p = new Products()

      {

        Id = 1,

        Name = "饮料",

        Price = 2.5

      };

      return View(p);

    }
登入後複製

而我們在視圖中得到強制型別物件Products,如下:


@using MvcTest.Models;
@model Products
@{
  ViewBag.Title = "Index";
}
<h1>@Model.Id</h1>
<h2>@Model.Name</h2>
<h3>@Model.Price</h3>
登入後複製

方式四:TempData

TempData可以透過轉向繼續使用,因為它的值會儲存在Session中。但TempData只能經過一次傳遞,之後會被系統自動清除。

下面我將示範從Index動作轉向Order動作,並在視圖中輸出TempData中儲存的值。

首先在控制中新建Action方法,命名為Order方法,程式碼如下:


#

public ActionResult Index()
    {
      var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
      TempData["_product"] = p;
      return RedirectToAction("Order");
    }
    public ActionResult Order()
    {
      return View();
    }
登入後複製

 修改檢視如下:


@{
  Products p = (Products)TempData["_product"];
}
登入後複製

假設控制器中的程式碼修改如下:


public ActionResult Index()
    {
      var p = new Products()
      {
        Id = 1,
        Name = "饮料",
        Price = 2.5
      };
      TempData["_product"] = p;
      return RedirectToAction("Order");
    }
    public ActionResult Order()
    {
      return RedirectToAction("Detail");
    }
    public ActionResult Detail()
    {
      Products _product = (Products)TempData["_product"];
      return View("");
    }
登入後複製
轉向:Index — Order — Detail,那麼在Detail方法中,是不能取得到TempData物件的,因為TempData只能經過一次傳遞,之後會被系統自動清除。

輸出結果

以上是介紹ASP.NET中的MVC如何從控制器傳遞資料到視圖的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1272
29
C# 教程
1252
24
Windows 11 上正確校準 Xbox One 控制器的方法 Windows 11 上正確校準 Xbox One 控制器的方法 Sep 21, 2023 pm 09:09 PM

由於Windows已成為首選的遊戲平台,因此確定其面向遊戲的功能就顯得尤為重要。其中之一是能夠在Windows11上校準XboxOne控制器。借助內建的手動校準,您可以擺脫漂移、隨機移動或效能問題,並有效地對齊X、Y和Z軸。如果可用選項不起作用,您可以隨時使用第三方XboxOne控制器校準工具。讓我們來了解一下!如何在Windows11上校準我的Xbox控制器?在繼續操作之前,請確保將控制器連接到電腦並更新XboxOne控制器的驅動程式。當您使用它時,也要安裝任何可用的韌體更新。 1.使用Wind

從零開始學習Laravel:控制器方法呼叫詳解 從零開始學習Laravel:控制器方法呼叫詳解 Mar 10, 2024 pm 05:03 PM

從零開始學習Laravel:控制器方法呼叫詳解在Laravel的開發中,控制器是一個非常重要的概念。控制器起到了連接模型和視圖的橋樑作用,負責處理來自路由的請求,並返回相應的資料給視圖展示。控制器中的方法可以被路由調用,這篇文章將詳細介紹如何編寫並調用控制器中的方法,同時會提供特定的程式碼範例。首先,我們需要建立一個控制器。可以使用Artisan命令列工具來生

php如何使用CodeIgniter4框架? php如何使用CodeIgniter4框架? May 31, 2023 pm 02:51 PM

PHP是一種非常流行的程式語言,而CodeIgniter4是一種常用的PHP框架。在開發Web應用程式時,使用框架是非常有幫助的,它可以加速開發過程、提高程式碼品質、降低維護成本。本文將介紹如何使用CodeIgniter4框架。安裝CodeIgniter4框架CodeIgniter4框架可以從官方網站(https://codeigniter.com/)下載。下

什麼叫laravel控制器 什麼叫laravel控制器 Jan 14, 2023 am 11:16 AM

在laravel中,控制器(Controller)是一個類,用來實現一定的功能;控制器能將相關的請求處理邏輯組成一個單獨的類別。控制器中存放中一些方法,實現一定的功能,透過路由呼叫控制器,不再使用回呼函數;控制器被存放在「app/Http/Controllers」目錄中。

Laravel學習指南:控制器方法呼叫的最佳實踐 Laravel學習指南:控制器方法呼叫的最佳實踐 Mar 11, 2024 am 08:27 AM

在Laravel學習指南中,控制器方法的呼叫是一個非常重要的主題。控制器扮演著連接路由和模型的橋樑的角色,在應用程式中起著至關重要的作用。本文將介紹控制器方法呼叫的最佳實踐,並提供具體的程式碼範例幫助讀者更好地理解。首先,讓我們來了解控制器方法的基本結構。在Laravel中,控制器類別通常存放在app/Http/Controllers目錄下,每個控制器類別包含多個

在Yii框架中使用控制器(Controllers)處理Ajax請求的方法 在Yii框架中使用控制器(Controllers)處理Ajax請求的方法 Jul 28, 2023 pm 07:37 PM

在Yii框架中,控制器(Controllers)扮演著處理請求的重要角色。除了處理常規的頁面請求之外,控制器還可以用於處理Ajax請求。本文將介紹在Yii框架中處理Ajax請求的方法,並提供程式碼範例。在Yii框架中,處理Ajax請求可以透過以下步驟進行:第一步,建立一個控制器(Controller)類別。可以透過繼承Yii框架提供的基礎控制器類別yiiwebCo

如何在Symfony框架中使用控制器的參數? 如何在Symfony框架中使用控制器的參數? Jun 04, 2023 pm 03:40 PM

Symfony框架是一個受歡迎的PHP框架,它是基於MVC(模型-視圖-控制器)架構設計的。在Symfony中,控制器是負責處理Web應用程式請求的關鍵元件之一。控制器中的參數在處理請求時非常有用,本文將介紹如何在Symfony框架中使用控制器的參數。控制器參數的基礎知識控制器的參數是透過路由傳遞到控制器中的。路由是一個將URI(統一資源標識符)映射到控制器和

3個簡單步驟:如何遠端搭配 Xbox 控制器與配件 3個簡單步驟:如何遠端搭配 Xbox 控制器與配件 Aug 09, 2023 pm 09:53 PM

如何遠端配對Xbox控制器和配件點擊Xbox主頁儀表板中的「Xbox配件」面板。該面板將帶您進入您的Xbox控制器,該控制器將顯示一個名為「連接裝置」的新選項。點擊它。在這裡,您將在一個新面板上,該面板可讓您輕鬆配對Xbox控制器和配件。您可以選擇任何首選選項,然後可以從此選單配對裝置。請注意,此功能尚未在即時Xbox伺服器上提供,但它很快就會出現在Xbox儀表板上。

See all articles