2012-07-05 67 views
0

我想创建一个无会话的网站,我在其中使用StringBuilder将数据发布到另一个窗体。问题是,在将数据发布到其他表单后,页面会正确加载,但如果我重新加载页面或点击进入隐藏字段,则会丢失其值。隐藏字段丢失内容回发

第一个被张贴到使用StringBuilder网页B,网页B获取表单数据和隐藏字段保存它,但现在如果我刷新页面一切都失去了:

 StringBuilder sb = new StringBuilder(); 
     sb.Append("<html>"); 
     sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>"); 
     sb.AppendFormat("<form name='form' action='{0}' method='post'>", "page2.aspx"); 
     sb.AppendFormat("<input type='hidden' name='param1' value='{0}'>", param1.Value); 
     sb.AppendFormat("<input type='hidden' name='param2' value='{0}'>", param2.Value); 

     sb.Append("</form>"); 
     sb.Append("</body>"); 
     sb.Append("</html>"); 

     Response.Write(sb.ToString()); 

     Response.End(); 

回答

0

为了保持它们的值,隐藏的字段需要标记在runat="server".这将是我的第一个appraoch - 但我不认为这将工作,如果你正在用字符串构造表单(也需要形式runat="server"

其实看着你的代码 - 你已经绕过了webforms--所以你显然不使用它们。所以我要么像上面那样使用webforms,要么使用一个适当的模型的MVC方法,如果doen正确的话,它将具有维持状态的效果。

另外,值可以从后回老位学校请求对象​​中挑选出来。