foreach语句不能对';Oblig1.Models.User';因为它不包含';GetEnumer

本文关键字:因为 GetEnumer 包含 User Oblig1 语句 不能 foreach Models | 更新日期: 2023-09-27 18:26:05

不断出现这个错误,似乎找不到我哪里出了问题,有人能帮忙吗?

这是我的观点,Minside.chtml:

@model Oblig1.Models.User
<br />
<br />
<br />
<!-- Nav tabs -->
<ul class="nav nav-tabs" role="tablist">
<li class="active"><a href="#home" role="tab" data-toggle="tab">Kontoinformasjon</a></li>
<li><a href="#profile" role="tab" data-toggle="tab">Ordrehistorikk</a></li>
</ul>
<!-- Tab panes -->
<div class="tab-content">
    <div class="tab-pane active" id="home">
        <br />
        <br />
        <table class="table">
            @foreach (var user in Model)
            {
                @user.Firstname
            }
        </table>
    </div>
    <div class="tab-pane" id="profile">Ordrehistorikk</div>
    <div class="tab-pane" id="messages">...</div>
    <div class="tab-pane" id="settings">...</div>
</div>

控制器:

    public ActionResult Minside()
    {
        var db = new PastaContext();
        string compareEmail = (string)Session["User"];
        User foundUser = db.Users.Find(compareEmail);
        if(foundUser == null)
        {
            return RedirectToAction("Index");
        }
        else
        {
            return View(foundUser);
        }           
    }

我也尝试将视图中的第一行更改为@model IENumberable。

我真正想做的就是把一个用户的信息列到视图中。

foreach语句不能对';Oblig1.Models.User';因为它不包含';GetEnumer

您在文件顶部声明MVC模板的模型是用户

@model Oblig1.Models.User

因此,您不需要foreach,只需直接在视图中键入FirstName即可。

@model.FirstName

您需要IEnumerable类型模型,类似于foreach loop

@model IEnumerable<Oblig1.Models.User>

如果你有一个用户对象,你不需要foreach循环。你可以直接写

@model.FirstName

相关文章: