从控制器访问保存的模型会话对象到视图

史密斯先生

我已经将模型保存到控制器中的会话对象中,但是现在我不知道如何在视图中访问它。

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>
    }
}

当我运行它时,什么都没有显示,但是我知道那里确实有数据。

拉斐尔·康帕洪尼(Rafael Companhoni)

在您的控制器中:

public ActionResult Test()
    {
        using (DefaultConnection db = new DefaultConnection())
        {
            var model = from u in db.Users select u;
            Session["Users"] = model.ToList();
            return View();
        }
    }

在您看来:

@(foreach(var item in ((List<User>)Session["Users"]))
{
    item.Username
}

如果要使用User类将视图“键入”,则必须将其发送至视图,例如:

 public ActionResult Test()
{
    using (DefaultConnection db = new DefaultConnection())
    {
        var model = from u in db.Users select u;
        return View(model.ToList());
    }
}

在您的视图中包含此指令:

@model IEnumerable<SomeNamespace.User>

然后通过以下方式访问模型:

 @if (Model != null){
     foreach (var item in Model) {  item.Username }
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章