2016-03-04 44 views
0

我只是想教自己的MVC,我對下面的代碼有問題,當編輯操作運行時,_Users列表爲空,指數。我如何堅持這些數據?當我執行編輯操作時,是否真的必須再次調用服務才能獲取它?我如何在MVC中的動作之間持續保存數據4

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

回答

1

由於http是無狀態的,因此您必須將數據保存在某個地方。局部變量不會。你需要再次調用服務,或者使用一些其他的小把戲,比如會話等

+0

OK,這是否意味着存在MVC沒有ViewState的?我知道在Web窗體中,我會使用DataKeys將數據從gridview或類似的地方拉回來。再次調用服務似乎有點浪費,而且會話中可能有相當多的數據。 – user2145210

0

ServiceClient也應該提供一個方法public User GetUserById(int id)

相關問題