как решить проблему с данными просмотра в ядре asp. net? - PullRequest
0 голосов
/ 20 июня 2020

В настоящее время я создаю свой проект и пытаюсь использовать метод представления данных для процесса представления данных. Я хотел бы знать, как решить следующую проблему.

Вот что я пробовал.

введите здесь описание изображения

using BusBookingSystem.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace BusBookingSystem.Controllers
{
    public class HomeController : Controller
    {
         private readonly IEmployeeRepository _employeeRepository;

        public HomeController(IEmployeeRepository employeeRepository)
        {
            _employeeRepository = employeeRepository;
        }

        public string Index()
        {
            return _employeeRepository.GetEmployee(1).Name;
        }
        public ViewResult Details()
        {
            Employee model = _employeeRepository.GetEmployee(1);
            ViewData["Employee"] = model;
            ViewData["PageTitle"] = "Employee Details";
            return View();
        }
    }
}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <h3>@ViewData["Page Title"]</h3>

    @{ 
        var employee = ViewData["Emplpoyee"] as BusBookingSystem.Models.Employee;
    }
<div>
    Name: @employee.Name
</div>
    <div>
        Email: @employee.Email
    </div>
    <div>
        Department: @employee.Department
    </div>
</body>
</html>

1 Ответ

0 голосов
/ 22 июня 2020

Вы должны использовать модель вместо ViewData, вот рабочая демонстрация:

Контроллер:

public ViewResult Index()
{
    Employee model = _employeeRepository.GetEmployee(1);     
    ViewData["PageTitle"] = "Employee Details";
    return View(model);
}

Просмотр:

@model Employee

<h3>@ViewData["Page Title"]</h3>

<div>
    Name: @Model.Name
</div>
<div>
    Email: @Model.Email
</div>
<div>
    Department: @Model.Department
</div>
...