我无法在blazor服务器应用程序的.razor页面中使用C#类

时间:2020-08-23 17:42:42

标签: c# blazor blazor-server-side

我正在构建一个小型的blazor服务器应用程序。

Data文件夹下,我创建了Author.cs文件,其中包含一个C#类。这是Author.cs文件的代码:

using System;

namespace BlazorApp1.Data
{
    public class Author
    {
        public Author(string id, string fn, string ln,
            string ph, string city)
        {
            this.id = id;
            this.firstName = fn;
            this.lastName = ln;
            this.phoneNumber = ph;
            this.city = city;
        }

        public string id { get; set; }

        public DateTime Date { get; set; }

        public string phoneNumber { get; set; }

        public string firstName { get; set; }

        public string lastName { get; set; }

        public string city { get; set; }
    }
}

我还在Pages文件夹下创建了Authors.razor文件。这是Authors.razor文件的代码:

@page "/authors"
@inject NavigationManager NM

<h3>Authors</h3>
<hr />

<div class="col-12">
    @foreach (Author author in AuthorList)
    {
        <div class="col-12 row">
            <div class="col-2">
                <NavLink href=@string.Format("authors/authordetails/{0}", @author.id)>
                    @author.id
                </NavLink>
            </div>
            <div class="col-2">@author.firstName @author.lastName </div>
        </div>
    }
</div>

@code {

    public List<Author> AuthorList { get; set; }
    public AuthorService authorService { get; set; }

    protected override void OnInitialized()
    {
        authorService = new AuthorService();
        AuthorList = authorService.GetAuthors();
    }
}

问题是,在foreach循环中,Author用红色下划线标记,Visual Studio 2019说:

CS0246:找不到类型或名称空间名称“作者”(是 您缺少using指令或程序集引用吗?)

我应该怎么做才能在此.razor页面中使用Author类?

1 个答案:

答案 0 :(得分:3)

只需在组件中添加名称空间BlazorApp1.Data。