首页 > 解决方案 > Student 是一个命名空间,但用作类型

问题描述

我有 控制器

using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System.Collections;
using System.Diagnostics;
using Student.Models;
using System.IO;

namespace Ucebnice.Controllers
{
    public class HomeController : Controller
    {
        private readonly ILogger<HomeController> _logger;

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public ViewResult Details()
        {
            ViewBag.Title = "Student Details Page";
            ViewBag.Header = "Student Details";
            Student student = new Student()
            {
                StudentId = 101,
                Name = "James",
                Branch = "CSE",
                Section = "A",
                Gender = "Male"
            };

            ViewBag.Student = student;

            return View();
        }
    }
}

模型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Student.Models
{
    public class Student
    {
        public string Name { get; set; }
        public string Street { get; set; }
        public string City { get; set; }
        public string State { get; set; }
        public string PostalCode { get; set; }
    }
}

它给我写了这个错误"Student is a namespace but is used like a type"Student student = new Student()有问题。我按照本教程https://dotnettutorials.net/lesson/viewbag-asp-net-core-mvc/但我不知道问题出在哪里。

标签: .netasp.net-core-mvc

解决方案


您可以重命名您的Student类或Student.Models命名空间。或者,您可以像这样限定参考:

var student = new Student.Models.Student()
{
    StudentId = 101,
    Name = "James",
    Branch = "CSE",
    Section = "A",
    Gender = "Male"
};

推荐阅读