ASP.NET MVC: странная ошибка ввода типа - PullRequest
0 голосов
/ 23 октября 2009

Странная ошибка при вводе типа: System.string -> weekmenu.SimpleTable

Контроллер

Function Index() As ActionResult

    ViewData("ListFrontName") = WeekMenuRepository.ListFrontName()
    ViewData("ListLastName") = WeekMenuRepository.ListLastName()
    Return View()

End Function

WeekMenuRepository

Public Function ListFrontName() Implements IWeekMenuRepository.ListFrontName

    Dim jow = From p In SimpleTable.SimpleTable Select p
    Return jow

End Function

View

<%  For Each item As SimpleTable In ViewData("ListFrontName")%>

<p><%=item.SimpleName%></p>

<%Next%>

Когда я запускаю это, я заставляю вещи работать как положено (я получаю список имен)

Однако, если я изменяю это в WeekMenuRepository, я получаю ошибку при типизации, почему, что я делаю неправильно и как я могу это исправить?

WeekMenuRepository (изменено)

=> Добавлено: выберите p.SimpleName

Public Function ListFrontName() Implements IWeekMenuRepository.ListFrontName

    Dim jow = From p In SimpleTable.SimpleTable Select p.SimpleName
    Return jow

End Function

Ответы [ 2 ]

0 голосов
/ 23 октября 2009

Потому что во втором случае ViewData("ListFrontName") уже не IEnumerable<WhateverTheTypeOfSimpleTable>, а IEnumerable<string>

Чтобы исправить это, измените ваш цикл в представлении:

<%  For Each item As String In ViewData("ListFrontName")%>
    <p><%=item%></p>
<%Next%>
0 голосов
/ 23 октября 2009

После внесения изменений вы явно выбираете p.SimpleName вместо всего объекта. Вам необходимо изменить свой вид следующим образом:

<p><%= item %></p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...