MVC 代码,在 index.cstml 上抛出错误,非静态字段错误

Posted

技术标签:

【中文标题】MVC 代码,在 index.cstml 上抛出错误,非静态字段错误【英文标题】:MVC code, throwing error on index.cstml, non-static field error 【发布时间】:2022-01-03 06:27:43 【问题描述】:

我有这个index.cshtml 代码:

@model IEnumerable<Desa.Models.Person>

<p>Person List Page</p>

<table border="1">
    <tr>
        <th>Name</th>
        <th>Address</th>
        <th>Phone</th>
        <th>Email</th>
    </tr>
     @foreach (var item in Model)
        
        <tr>
            <td>@Person.name</td>
            <td>@Person.email</td>
            <td>@Person.phone  </td>
            <td>@Person.address</td>
        </tr>
        
    </table>

还有Person 模型:

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

namespace Desa.Models

    public class Person
    
        [Key]
        public string name  get; set; 
        public string email  get; set; 
        public string phone  get; set; 
        public string address  get; set; 
    

Index.cshtml 部分,它抛出一个错误:

CS0120 非静态字段、方法或属性需要对象引用 'Person.name' Desa C:\Users\qendr\source\repos\Desa\Desa\Views\Person\Index.cshtml 15 活跃

我不太确定可能是什么问题,有什么帮助吗?

【问题讨论】:

【参考方案1】:

您正在使用foreach 迭代IEnumerable&lt;Desa.Models.Person&gt; 集合。因此有必要参考如下集合项:

@foreach (var item in Model)

<tr>
    <td>@item.name</td>
    <td>@item.email</td>
    <td>@item.phone  </td>
    <td>@item.address</td>
</tr>

有关详细信息,请参阅 Microsoft 文档:Strongly typed views

【讨论】:

哦,我的错!成功了,感谢您的检查!

以上是关于MVC 代码,在 index.cstml 上抛出错误,非静态字段错误的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap 的 FileTransfer.upload() 在 Android 上抛出错误代码 3

glCreateShader 在 OSX 上抛出异常,为啥?

Cordova fileTransfer 在 iOS 上完美运行,在 Android 上抛出错误代码 = 1

使用 JS 在 MVC 中加载部分视图时出错

ByteBuffer 在特定版本的 Android 上抛出 UnsupportedOperationException

在 ASP.NET MVC 视图中创建列表时出错