2017-10-16 72 views
1

我想重装时,他想回到以前的页面上的所有我的用户变化的时候,我试图用LoadViewState()SaveViewState()方法,这样加载以前的ViewState:如何回到前一页

 protected void Page_Load(object sender, EventArgs e) 
     { 
      if (!IsPostBack) 
      { 
       if(Session["savedViewState"] != null) 
        { 
        Object saved = (Object)Session["savedViewState"]; 
        LoadViewState(saved); 
        } 
      } 
      else 
      { 
       Session["savedViewState"] = SaveViewState(); 
      } 
     } 

但它没有工作。会话savedViewState为空。 但我仍然不知道这些方法是否可以解决重新加载我的所有视图状态的问题。

+0

这是因为之间的代码。你正在将一个空的视图状态保存到会话中。如果它不是回发。这意味着它不是刷新就是其新的负载。无论哪种情况,视图状态都为空。你基本上每次都会保存一个空视图状态。您需要在其他条件之间切换代码 –

回答

0

你需要切换,如果其他条件

protected void Page_Load(object sender, EventArgs e) 
    { 



       if(Session["savedViewState"] != null && SaveViewState()!=null) 
       { 
       Object saved = (Object)Session["savedViewState"]; 
       LoadViewState(saved); 
       } 
       else 
       { 
        Session["savedViewState"] = SaveViewState(); 
       } 

    } 
+0

现在甚至没有机会将视图状态保存到会话中,因为当我更改页面上的内容时,没有回传。 – Adriano

+0

编辑它。现在试试这个 –

+0

当它重定向到第二页时,数据不会存储到会话中。所以当我重定向到这个页面'Session [“savedViewState”]'为空。 – Adriano