我只是想自学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);
}
}
答案 0 :(得分:1)
由于http是无状态的,因此您必须将数据保存在某处。一个局部变量不会做。您必须再次调用该服务或使用其他一些技巧,如会话等。
答案 1 :(得分:0)
您的ServiceClient
还应提供方法public User GetUserById(int id)