如何在MVC 4中的操作之间保留数据

时间:2016-03-04 16:44:12

标签: asp.net-mvc-4

我只是想自学MVC并且我在下面的代码中遇到问题,当运行Edit操作时,_Users列表为空,之前它是由Index填充的。我该如何保留这些数据?在执行编辑操作时,是否真的必须再次调用该服务才能获取它?

public class UserController : Controller
{
    public List<User> _Users { get; set; }

    public ActionResult Index()
    {
        ServiceClient api = new ServiceClient();
        _Users = api.GetUserList();
        return View(_Users);
    }

    public ActionResult Edit(int id)
    {
        var user = from u in _Users
                   where u.UserID == id
                   select u;
        return View(user);
    }
}

2 个答案:

答案 0 :(得分:1)

由于http是无状态的,因此您必须将数据保存在某处。一个局部变量不会做。您必须再次调用该服务或使用其他一些技巧,如会话等。

答案 1 :(得分:0)

您的ServiceClient还应提供方法public User GetUserById(int id)