Наконец, я перестал спрашивать богов Google ...
Я пытаюсь получить доступ к переменным ViewBag в моем представлении из запроса ниже.
using (var context = new PrincipalContext(ContextType.Domain))
{
var un = UserPrincipal.FindByIdentity(context, User.Identity.Name);
var userinfo = db.Users
.Where(x => x.sAMAccountName == un.SamAccountName)
.Select(x => new
{
x.sAMAccountName,
x.Id
}).First();
ViewBag.UserInfo = userinfo;
}
Я вижу переменные в Наблюдатель точки останова VS
![enter image description here](https://i.stack.imgur.com/2HNEE.png)
Однако, когда я пытаюсь получить к ним доступ:
![enter image description here](https://i.stack.imgur.com/ASWqy.png)
![enter image description here](https://i.stack.imgur.com/R9TkC.png)
Не уверен на 100%, как я должен получить к ним доступ? Я не хочу перебирать их, потому что они помещаются в форму как поля. Как упоминалось ранее, Google Боги были менее чем полезны. Спасибо!
ОБНОВЛЕНИЕ
Я внимательно посмотрел на основе полученных ответов, касающихся кастинга. В конечном итоге я в итоге извлек всю модель и вернул ее в ViewBag и получил к ней доступ как таковой:
using (var context = new PrincipalContext(ContextType.Domain))
{
var un = UserPrincipal.FindByIdentity(context, User.Identity.Name);
User info = new User();
info = (User)db.Users
.Where(x => x.sAMAccountName == un.SamAccountName)
.First();
ViewBag.User = info;
}
А затем в представлении
@ViewBag.User.Id
@ViewBag.User.sAMAccountName
В конечном итоге я был ищем доступ к этим переменным, не повторяя их в al oop. Когда я добавляю оператор SELECT в свой запрос, он начинает жаловаться, что я пытаюсь привести анонимные строки к объекту модели. Можно ли получить выбранные данные из модели в ASP, или вам нужно вернуть весь набор моделей? Теперь это просто любопытство. Спасибо за руководство!