Я сохранил модель в объекте сеанса в моем контроллере, но теперь я не имею понятия, как получить к нему доступ в моем представлении.Доступ к сохраненной модели объекта сеанса от контроллера в представлении
public ActionResult Test()
{
using (DefaultConnection db = new DefaultConnection())
{
var model = from u in db.Users select u;
Session["User"] = model;
var vm = Session["User"] as User;
return View(vm);
}
}
Я пробовал это на мой взгляд, но у меня нет опыта работы с MVC, поэтому я не уверен, насколько я далеко.
@model IEnumerable<WebApplication1.Models.User>
@if (Model != null)
{
foreach (var item in Model)
{
<h1>item.Username</h1>
}
}
Ничего не появляется, когда я запускаю его, но я знаю, что есть данные.
Я попробовал, используя свой второй путь, потому что мне понравилось это передавалось от контроллера. Однако я столкнулся с ошибкой. Когда я пытаюсь сделать '@ Model.Username', я получаю сообщение об ошибке, когда мне нужно сначала проверить значение null. Поэтому я продолжаю и делаю '@ {if (Model! = Null) {
@ Model.Username
}}', но когда я его запускаю, ничего не появляется. Я знаю, что в моей таблице есть данные, потому что, если я использую действие Index по умолчанию для контроллера бритвы с помощью операций чтения/записи, он перечисляет все записи. –Я до сих пор не получаю ничего, позвольте мне обновить свой вопрос с помощью моего самого последнего кода, и если бы вы могли взглянуть на ошибку, я был бы признателен. –
В вашем контроллере вы отправляете представление IQueryable to yout. Используйте метод расширения ToList для отправки списка на ваш просмотр. Затем проверьте, действительно ли свойство «Username» ваших пользователей имеет какое-либо значение. –