Kết hợp Controller, View và Model trong ASP.NET MVC

Chúng ta đã tạo StudentController, Model và View trong các phần trước, nhưng chúng ta chưa tích hợp tất cả các thành phần này để chạy nó.

Trong hướng dẫn này chúng ta sẽ tìm hiểu cách kết hợp Controller, View và Model để tạo ra các chức năng hoàn chỉnh trong ASP.NET MVC.

Các thành phần Controller, View và Model

Các đoạn mã dưới đây là của chức năng xem danh sách sinh viên được tạo trong các phần trước cho Controller, View và Model của Student.

Controller StudentController:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MVC_BasicTutorials.Models;

namespace MVC_BasicTutorials.Controllers
{
    public class StudentController : Controller
    {
        // GET: Student
        public ActionResult Index()
        {
            return View();
        }
    }
}
C#

Model Student:

namespace MVC_BasicTutorials.Models
{
    public class Student
    {
        public int StudentId { get; set; }
        public string StudentName { get; set; }
        public int Age { get; set; }
    }
}
C#

View Index.cshtml:

@model IEnumerable<MVC_BasicTutorials.Models.Student>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.StudentName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Age)
        </th>
        <th></th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.StudentName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Age)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.StudentId }) |
            @Html.ActionLink("Details", "Details", new { id=item.StudentId  }) |
            @Html.ActionLink("Delete", "Delete", new { id = item.StudentId })
        </td>
    </tr>
}

</table>
C#

Kết hợp Controller, Model và View

Bây giờ, để chức năng xem danh sách sinh viên hoạt động, chúng ta cần truyền một đối tượng Model từ Controller sang View Index.cshtml.

Như bạn có thể thấy trong View Index.cshtml khai báo một đối tượng @model có kiểu dữ liệu là IEnumerable<Student> như sau:

@model IEnumerable<MVC_BasicTutorials.Models.Student>
C#

Điều đó có nghĩa là View Index.cshtml chấp nhận một đối tượng Model có kiểu dữ liệu là IEnumerable<Student>.

Vì vậy, trong phương thức hành động Index của lớp StudentController, chúng ta cần truyền một đối tượng Model kiểu IEnumerable<Student> tới View Index.cshtml như dưới đây.

public class StudentController : Controller
{
    // GET: Student
    public ActionResult Index()
    {
        var studentList = new List<Student>
        { 
            new Student() { StudentId = 1, StudentName = "John", Age = 18 },
            new Student() { StudentId = 2, StudentName = "Steve", Age = 21 },
            new Student() { StudentId = 3, StudentName = "Bill", Age = 25 },
            new Student() { StudentId = 4, StudentName = "Ram", Age = 20 },
            new Student() { StudentId = 5, StudentName = "Ron", Age = 31 },
            new Student() { StudentId = 4, StudentName = "Chris", Age = 17 },
            new Student() { StudentId = 4, StudentName = "Rob", Age = 19 } 
        };
        
        // Get the students from the database in the real application

        return View(studentList);
    }
}
C#

Như bạn có thể thấy trong đoạn mã trên, chúng tôi đã tạo một danh sách các đối tượng sinh viên studentList cho mục đích ví dụ (trong ứng dụng thực tế, bạn có thể lấy nó từ cơ sở dữ liệu).

Sau đó chúng tôi truyền đối tượng danh sách sinh viên này làm tham số trong phương thức View().

Phương thức View() được định nghĩa trong lớp Controller cơ sở, nó tự động liên kết đối tượng Model với View.

Bây giờ, bạn có thể chạy dự án ASP.NET MVC bằng cách nhấn phím F5 và truy cập đến địa chỉ http://localhost/student. Bạn sẽ thấy màn hình sau trong trình duyệt.

 

270 thoughts on “Kết hợp Controller, View và Model trong ASP.NET MVC

  1. Suivre Téléphone says:

    Suivre le téléphone portable – Application de suivi cachée qui enregistre l’emplacement, les SMS, l’audio des appels, WhatsApp, Facebook, photo, caméra, activité Internet. Idéal pour le contrôle parental et la surveillance des employés. Suivre le Téléphone Gratuitement – Logiciel de Surveillance en Ligne. https://www.xtmove.com/fr/

  2. Pingback: child porn

  3. Temp Mail says:

    You’ve accomplished a fantastic job, and the material you’ve created is articulate and creative. However, you seem concerned about the prospect of presenting something that is deemed to be questionable. I believe you’ll be able to clean up this mess in a matter of minutes.

  4. ремонт бытовой техники в москве says:

    Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
    Мы предлагаем: сервис центры бытовой техники москва
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  5. Pingback: sex

  6. Tech Learner says:

    Tech Learner You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

  7. MichaelRef says:


    Временная регистрация в Москве: Быстро и Легально!
    Ищете, где оформить временную регистрацию в Москве? Мы гарантируем быстрое и легальное оформление без очередей и лишних документов. Ваше спокойствие – наша забота!
    Минимум усилий • Максимум удобства • Полная легальность
    Свяжитесь с нами прямо сейчас!
    .

  8. MichaelRef says:


    Временная регистрация в Москве: Быстро и Легально!
    Ищете, где оформить временную регистрацию в Москве? Мы гарантируем быстрое и легальное оформление без очередей и лишних документов. Ваше спокойствие – наша забота!
    Минимум усилий • Максимум удобства • Полная легальность
    Свяжитесь с нами прямо сейчас!
    .

  9. Сервисный центр Xiaomi Москва says:

    Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали официальный сервисный центр xiaomi, можете посмотреть на сайте: сервисный центр xiaomi в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  10. Сервисный центр Philips Москва says:

    Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали официальный сервисный центр philips, можете посмотреть на сайте: сервисный центр philips
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  11. aplikasi neo party game says:

    I would like to express some appreciation to the writer for bailing me out of this instance. As a result of looking throughout the the web and coming across ways which are not beneficial, I was thinking my entire life was well over. Being alive without the presence of strategies to the difficulties you have solved through your main posting is a critical case, as well as the kind which could have in a negative way affected my entire career if I had not encountered your website. Your main know-how and kindness in touching all the details was important. I’m not sure what I would’ve done if I had not come across such a subject like this. I’m able to at this moment look forward to my future. Thanks for your time so much for your specialized and sensible guide. I won’t be reluctant to endorse your blog post to any individual who wants and needs support about this issue.

  12. Kennethzew says:

    Федерация – это проводник в мир покупки запрещенных товаров, можно купить гашиш, купить кокаин, купить меф, купить экстази в различных городах. Москва, Санкт-Петербург, Краснодар, Владивосток, Красноярск, Норильск, Екатеринбург, Мск, СПБ, Хабаровск, Новосибирск, Казань и еще 100+ городов.

  13. Сервисный центр Asus Москва says:

    Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали сервисный центр asus цены, можете посмотреть на сайте: сервисный центр asus в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  14. kypit 1s_ekKa says:

    настройка 1с бухгалтерии цена [url=masa.forum24.ru/?1-8-0-00000558-000-0-0-1737112694]настройка 1с бухгалтерии цена[/url] .

  15. kolyaska_yrpr says:

    Выбор современных родителей – коляска-трость, с прочными колесами и удобной ручкой.
    Эргономичная коляска-трость с эффектным дизайном, которая поможет вам в повседневных прогулках.
    Модная коляска-трость для маленького модника, с удобной ручкой и амортизаторами.
    Элегантная коляска-трость для путешествий и прогулок, которая облегчит вам заботу о ребенке.
    bambola b200 bi bi bambola b200 bi bi .

  16. Ремонт фотоаппаратов Canon Москва says:

    Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт фотоаппаратов canon, можете посмотреть на сайте: ремонт фотоаппаратов canon сервис
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  17. Ремонт фотоаппаратов Canon Москва says:

    Предлагаем услуги профессиональных инженеров офицальной мастерской.
    Еслли вы искали ремонт фотоаппаратов canon в москве, можете посмотреть на сайте: ремонт фотоаппаратов canon адреса
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

Leave a Reply

Your email address will not be published. Required fields are marked *