Кажется, что это должно быть так просто, но я попробовал три или четыре способа сделать это (но безрезультатно).
Я просто пытаюсь поместить результат запроса в пакет просмотраи отобразить его.
Я пытался поместить список объектов модели в ViewBag:
var mesg = from MSG in lemondb.Messages
where MSG.msg == Membership.GetUser().ToString()
select MSG;
ViewBag.messages = MSG;
И затем я пытаюсь выплюнуть его в .cshtml:
var message = (List<LemonTrader.Models.Message>)ViewBag.messages; // <--- fails here because it is a string
foreach ( var MSG in message )
{
@Html.Label(MSG.msg)<br />
}
Но там написано:
Невозможно преобразовать тип 'System.Data.Entity.Infrastructure.DbQuery' в 'System.Collections.Generic.List'
Похоже, я использую не тот шаблон.Как выложить System.Entity.Infrastructure.DbQuery?
Я также пытался передать результаты через Viewbag в виде списка строк.(Это худший способ сделать это?)
var mesg = from MSG in lemondb.Messages
where MSG.msg == Membership.GetUser().ToString()
select MSG.msg;
ViewBag.messages = mesg;
И выкладывать это в виде списка строк:
foreach (var atext in ViewBag.messages as List<string>) { // gets hung up on foreach here (why???)
@Html.Label( atext )
}
И я получаю это:
Ссылка на объект не установлена для экземпляра объекта.
И она указывает на ключевое слово "foreach".
Означает ли это, что сообщений не было?Или что?
Хотелось бы, чтобы был учебник, показывающий, как поместить результаты запроса в ViewBag и как их получить!Я видел учебники, которые возвращают object.ToList () безотносительно к какому-либо механизму «где», но нет примеров, чтобы вытащить несколько релевантных записей и отобразить их.