Оператор foreach не может работать с переменными типа «Oblig1.Models.User», поскольку он не содержит общедоступного определения для «GetEnumerator».

1

Продолжайте получать эту ошибку и не можете найти, где я ошибаюсь, кто-нибудь, кто может протянуть руку?

Это мой вид, Minside.cshtml:

@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.

Все, что я действительно хочу сделать, это то, что я перечисляю информацию одного пользователя на представление.

  • 0
    Oblig1.Models.User ли Oblig1.Models.User интерфейс IEnumerable ?
Теги:
visual-studio
asp.net-mvc

2 ответа

1
Лучший ответ

В верхней части файла указывается, что модель для шаблона MVC является пользователем

@model Oblig1.Models.User

Таким образом, вам не нужен foreach, просто введите FirstName прямо на ваш взгляд.

@model.FirstName
  • 1
    вау, ты только что заставил меня плакать, это сработало. большое большое спасибо!
  • 0
    Нет проблем. Я рад, что смог помочь!
0

вам нужна IEnumerable Type Model, как это для foreach loop

@model IEnumerable<Oblig1.Models.User>

И если у вас есть один пользовательский объект, вам не нужен цикл foreach. вы можете просто написать

@model.FirstName

Ещё вопросы

Сообщество Overcoder
Наверх
Меню